""" Plotting public API. Authors of third-party plotting backends should implement a module with a public ``plot(data, kind, **kwargs)``. The parameter `data` will contain the data structure and can be a `Series` or a `DataFrame`. For example, for ``df.plot()`` the parameter `data` will contain the DataFrame `df`. In some cases, the data structure is transformed before being sent to the backend (see PlotAccessor.__call__ in pandas/plotting/_core.py for the exact transformations). The parameter `kind` will be one of: - line - bar - barh - box - hist - kde - area - pie - scatter - hexbin See the pandas API reference for documentation on each kind of plot. Any other keyword argument is currently assumed to be backend specific, but some parameters may be unified and added to the signature in the future (e.g. `title` which should be useful for any backend). Currently, all the Matplotlib functions in pandas are accessed through the selected backend. For example, `pandas.plotting.boxplot` (equivalent to `DataFrame.boxplot`) is also accessed in the selected backend. This is expected to change, and the exact API is under discussion. But with the current version, backends are expected to implement the next functions: - plot (describe above, used for `Series.plot` and `DataFrame.plot`) - hist_series and hist_frame (for `Series.hist` and `DataFrame.hist`) - boxplot (`pandas.plotting.boxplot(df)` equivalent to `DataFrame.boxplot`) - boxplot_frame and boxplot_frame_groupby - register and deregister (register converters for the tick formats) - Plots not called as `Series` and `DataFrame` methods: - table - andrews_curves - autocorrelation_plot - bootstrap_plot - lag_plot - parallel_coordinates - radviz - scatter_matrix Use the code in pandas/plotting/_matplotib.py and https://github.com/pyviz/hvplot as a reference on how to write a backend. For the discussion about the API see https://github.com/pandas-dev/pandas/issues/26747. """ from pandas.plotting._core import ( PlotAccessor, boxplot, boxplot_frame, boxplot_frame_groupby, hist_frame, hist_series, ) from pandas.plotting._misc import ( andrews_curves, autocorrelation_plot, bootstrap_plot, deregister as deregister_matplotlib_converters, lag_plot, parallel_coordinates, plot_params, radviz, register as register_matplotlib_converters, scatter_matrix, table, ) __all__ = [ "PlotAccessor", "boxplot", "boxplot_frame", "boxplot_frame_groupby", "hist_frame", "hist_series", "scatter_matrix", "radviz", "andrews_curves", "bootstrap_plot", "parallel_coordinates", "lag_plot", "autocorrelation_plot", "table", "plot_params", "register_matplotlib_converters", "deregister_matplotlib_converters", ]