1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- """
- 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",
- ]
|