当我使用pandas
df.plot()
时,它有matplotlib作为默认的绘图后端。但是,这将创建静态图。
我想要交互式绘图,所以我必须改变pandas的绘图背景。
当我使用.plot()时,我如何改变pandas的绘图后端,让不同的库来创建我的绘图?
改变pandas绘图的后端,以获得交互式绘图,而不是matplotlib静态绘图
22
人关注
Sander van den Oord
发布于
2019-10-18
4
个回答
Sander van den Oord
发布于
2021-05-05
已采纳
0
人赞同
You need pandas >= 0.25 to change the plotting backend of pandas.
可用的绘图后端是:。
So, the 默认设置 is:
pd.options.plotting.backend = 'matplotlib'
你可以改变pandas使用的绘图库,如下所示。在这种情况下,它设置hvplot/ holoviews作为绘图的后端。
pd.options.plotting.backend = 'hvplot'
或者你也可以使用(基本相同)。
pd.set_option('plotting.backend', 'hvplot')
现在你有了hvplot / holoviews作为pandas的绘图后端,它将为你提供交互式的holoviews图,而不是静态的matplotlib图。
当然,你需要安装hvplot/holoviews库和依赖项,这样才能工作。
下面是一个产生交互式绘图的代码例子。它使用了标准的.plot() pandas语法。
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')
thinwybk
:
是否也可以用plotly作为绘图的后端?
Plotly backend is available with plotly >= 4.8.0
jeffhale
发布于
2021-05-05
0
人赞同
我一直得到一个错误'Could not find plotting backend 'plotly'.确保你已经安装了提供'plotly'入口的软件包,或者该软件包有一个顶级的
.plot
方法。 我们是否应该在上述声明中不提及任何与df.plot(backend = 'plotly')有关的内容?
jeffhale
:
@julianjoseph 听起来像是 pandas 在寻找 plotly 却没有找到。你是否安装了最新版本的 plotly 和最新版本的 pandas - 它们是你环境中的有效版本?你可以通过导入两个库并检查它们的
version
属性。 如果使用Jupyter并且最近升级或安装了软件包,你可以尝试重新启动你的内核。
Sander van den Oord
发布于
2021-05-05
0
人赞同
要改变pandas绘图的后端
for the whole session
, use:
pd.options.plotting.backend = 'plotly'
要改变pandas绘图的后端only 对于一个特定的情节, use:
df.plot(backend='plotly')
See also:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html