1""" 2Plotting public API. 3 4Authors of third-party plotting backends should implement a module with a 5public ``plot(data, kind, **kwargs)``. The parameter `data` will contain 6the data structure and can be a `Series` or a `DataFrame`. For example, 7for ``df.plot()`` the parameter `data` will contain the DataFrame `df`. 8In some cases, the data structure is transformed before being sent to 9the backend (see PlotAccessor.__call__ in pandas/plotting/_core.py for 10the exact transformations). 11 12The parameter `kind` will be one of: 13 14- line 15- bar 16- barh 17- box 18- hist 19- kde 20- area 21- pie 22- scatter 23- hexbin 24 25See the pandas API reference for documentation on each kind of plot. 26 27Any other keyword argument is currently assumed to be backend specific, 28but some parameters may be unified and added to the signature in the 29future (e.g. `title` which should be useful for any backend). 30 31Currently, all the Matplotlib functions in pandas are accessed through 32the selected backend. For example, `pandas.plotting.boxplot` (equivalent 33to `DataFrame.boxplot`) is also accessed in the selected backend. This 34is expected to change, and the exact API is under discussion. But with 35the current version, backends are expected to implement the next functions: 36 37- plot (describe above, used for `Series.plot` and `DataFrame.plot`) 38- hist_series and hist_frame (for `Series.hist` and `DataFrame.hist`) 39- boxplot (`pandas.plotting.boxplot(df)` equivalent to `DataFrame.boxplot`) 40- boxplot_frame and boxplot_frame_groupby 41- register and deregister (register converters for the tick formats) 42- Plots not called as `Series` and `DataFrame` methods: 43 - table 44 - andrews_curves 45 - autocorrelation_plot 46 - bootstrap_plot 47 - lag_plot 48 - parallel_coordinates 49 - radviz 50 - scatter_matrix 51 52Use the code in pandas/plotting/_matplotib.py and 53https://github.com/pyviz/hvplot as a reference on how to write a backend. 54 55For the discussion about the API see 56https://github.com/pandas-dev/pandas/issues/26747. 57""" 58from pandas.plotting._core import ( 59 PlotAccessor, 60 boxplot, 61 boxplot_frame, 62 boxplot_frame_groupby, 63 hist_frame, 64 hist_series, 65) 66from pandas.plotting._misc import ( 67 andrews_curves, 68 autocorrelation_plot, 69 bootstrap_plot, 70 deregister as deregister_matplotlib_converters, 71 lag_plot, 72 parallel_coordinates, 73 plot_params, 74 radviz, 75 register as register_matplotlib_converters, 76 scatter_matrix, 77 table, 78) 79 80__all__ = [ 81 "PlotAccessor", 82 "boxplot", 83 "boxplot_frame", 84 "boxplot_frame_groupby", 85 "hist_frame", 86 "hist_series", 87 "scatter_matrix", 88 "radviz", 89 "andrews_curves", 90 "bootstrap_plot", 91 "parallel_coordinates", 92 "lag_plot", 93 "autocorrelation_plot", 94 "table", 95 "plot_params", 96 "register_matplotlib_converters", 97 "deregister_matplotlib_converters", 98] 99