18

当我使用 pandasdf.plot()时,它有 matplotlib 作为默认的绘图后端。但这会创建静态图。

我想要交互式绘图,所以我必须更改熊猫绘图背景。

当我使用 .plot() 时,如何更改 pandas 的绘图后端以使用不同的库创建我的绘图?

4

4 回答 4

31

您需要 pandas >= 0.25 来更改 pandas 的绘图后端。

可用的绘图后端是:

所以,默认设置是:

pd.options.plotting.backend = 'matplotlib'

您可以更改 pandas 使用的绘图库,如下所示。在这种情况下,它将hvplot / holoviews 设置为绘图后端:

pd.options.plotting.backend = 'hvplot'

或者你也可以使用(基本相同):

pd.set_option('plotting.backend', 'hvplot')

现在您将 hvplot / holoviews 作为 pandas 的绘图后端,它将为您提供交互式全息图而不是静态 matplotlib 图。

当然,您需要安装库 hvplot / holoviews + 依赖项才能正常工作。

这是一个生成交互式绘图的代码示例。它使用标准的 .plot() 熊猫语法:

import numpy as np
import pandas as pd

import hvplot
import hvplot.pandas

pd.options.plotting.backend = 'hvplot'

data = np.random.normal(size=[50, 2])

df = pd.DataFrame(data, columns=['x', 'y'])

df.plot(kind='scatter', x='x', y='y')
于 2019-10-17T20:47:55.290 回答
5

要更改整个会话的 pandas 绘图后端,请使用:

pd.options.plotting.backend = 'plotly'

要仅为一个特定的 plot更改 pandas 绘图后端,请使用:

df.plot(backend='plotly')

也可以看看:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html

https://pandas.pydata.org/docs/user_guide/options.html?highlight=plotting%20backend#available-options

于 2020-09-02T20:29:47.867 回答
4

从 plotly 4.8.0 开始,您可以使用 plotly 与 pandas 1.0+ 进行交互式绘图。

更新pip install -U plotly

将绘图后端设置为 plotly:

pd.options.plotting.backend = "plotly" 

df = pd.DataFrame(dict(a=[1, 2, 3], b=[2, 4, 6]))
df.plot()

这是公告

请注意,这些后端与使用默认 matplotlib 后端的所有参数没有完全对齐。

另请注意,Altair 需要安装altair_pandas

于 2020-05-26T18:16:57.083 回答
1

您还可以使用backend绘图方法本身来替代后端:

df.plot(backend='matplotlib')

我正在学习一个新的后端,当我想在 matplotlib 中重现我的图表时使用它。plot 方法的参数在不同的后端是不一样的。

于 2021-05-04T20:27:24.887 回答