gpt4 book ai didi

python - 使用 Pandas-Bokeh 绘制数据框时如何合并子图选项?

转载 作者:行者123 更新时间:2023-12-05 06:02:30 26 4
gpt4 key购买 nike

我有一个数据框对应于我想要绘制的多元时间序列。每个 channel 都会出现在它自己的一组轴上,所有的图都是垂直排列的。我还想添加 Bokeh 可用的交互选项,包括通过单击其标签从 View 中删除一个 channel 的能力。

没有 Bokeh,我可以使用子图来获得垂直堆叠的独立“静态”图,如下所示:

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt

A=np.random.rand(800,10)
df=pd.DataFrame(data=A,columns=['a','b','c','d','e','f','g','h','i','j'])

df.plot(subplots=True)
plt.show()

我可以使用 Bokeh 在一组轴上绘制 10 个 channel :

import numpy as np
import pandas as pd
pd.set_option('plotting.backend', 'pandas_bokeh')

A=np.random.rand(800,10)
df=pd.DataFrame(data=A,columns=['a','b','c','d','e','f','g','h','i','j'])
df.plot_bokeh(kind="line")

生成的图形允许缩放、平移、 channel 取消选择等。但是,所有绘图信号都绘制在同一组轴上,我宁愿不这样做。

最佳答案

我使用此代码片段在网格中绘制图形。

import pandas as pd
import pandas_bokeh
from bokeh.palettes import Dark2_5 as palette


def plot_grid(df: pd.DataFrame):
figs = []
color = itertools.cycle(palette)
for c in df.columns:
figs.append(df[c].plot_bokeh(show_figure=False, color=next(color)))
pandas_bokeh.plot_grid(figs, ncols=1, plot_width=1500)

ncols 参数允许您指定每行需要多少列。希望这对您有所帮助!

关于python - 使用 Pandas-Bokeh 绘制数据框时如何合并子图选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66905779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com