San*_*ord 15 python pandas holoviews pandas-bokeh hvplot
当我使用 Pandas 时,df.plot()它有 matplotlib 作为默认绘图后端。但这会创建静态图。
我想要交互式绘图,所以我必须更改熊猫绘图背景。
当我使用 .plot() 时,如何更改 Pandas 的绘图后端以使用不同的库来创建我的绘图?
San*_*ord 27
您需要 pandas >= 0.25 来更改 pandas 的绘图后端。
可用的绘图后端是:
所以,默认设置是:
pd.options.plotting.backend = 'matplotlib'
Run Code Online (Sandbox Code Playgroud)
您可以按如下方式更改 pandas 使用的绘图库。在这种情况下,它将hvplot /holoviews 设置为绘图后端:
pd.options.plotting.backend = 'hvplot'
Run Code Online (Sandbox Code Playgroud)
或者你也可以使用(基本相同):
pd.set_option('plotting.backend', 'hvplot')
Run Code Online (Sandbox Code Playgroud)
现在你有 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')
Run Code Online (Sandbox Code Playgroud)
从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()
Run Code Online (Sandbox Code Playgroud)
请注意,这些后端与默认 matplotlib 后端使用的所有参数并不完全一致。
另请注意,Altair 需要安装altair_pandas。
要更改整个会话的pandas 绘图后端,请使用:
pd.options.plotting.backend = 'plotly'
Run Code Online (Sandbox Code Playgroud)
要仅更改一个特定绘图的pandas 绘图后端,请使用:
df.plot(backend='plotly')
Run Code Online (Sandbox Code Playgroud)
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html
| 归档时间: |
|
| 查看次数: |
9526 次 |
| 最近记录: |