gpt4 book ai didi

python - Bokeh 图时间序列

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:48 25 4
gpt4 key购买 nike

我正在尝试使用 Bokeh(代码中的 data_frame)绘制以下数据帧,在我的示例中,我只有两列 0 和 1(以及日期,即 x 轴)。但在我的真实数据集中,我有超过 10 个,所以我试图找到一个比我的版本更好的版本,但它不能很好地概括。 (我想到了 for 循环,但它似乎不是最佳的)

from bokeh.plotting import figure, show
from bokeh.charts import TimeSeries
from bokeh.io import output_notebook

output_notebook()

data_frame = pd.DataFrame({0: [0.17, 0.189, 0.185, 0.1657], 1: [0.05, 0.0635, 0.0741, 0.0925], 'Date': [2004, 2005, 2006, 2007]})
p = figure(x_axis_label = 'date',
y_axis_label='Topics Distribution')

p.circle(data_frame.Date, data_frame.iloc[:, 0])
p.circle(data_frame.Date, data_frame.iloc[:, 1])

show(p)

我也尝试过这个,但它不起作用,而且我不想要仅线点:

p = TimeSeries(data_frame, index='Date', legend=True,
title = 'T', ylabel='topics distribution')

感谢您的帮助!

最佳答案

让我们尝试一种不同的方法,看看这是否更有意义:

  • 将数据 reshape 为 "tidy"数据格式

  • 使用带颜色参数的 Bokeh 高级散点图

代码:

chartdata = data_frame.set_index('Date').stack().reset_index().rename(columns={'level_1':'Category',0:'Value'})

print(chartdata)

输出“整齐”的数据格式:

   Date  Category   Value
0 2004 0 0.1700
1 2004 1 0.0500
2 2005 0 0.1890
3 2005 1 0.0635
4 2006 0 0.1850
5 2006 1 0.0741
6 2007 0 0.1657
7 2007 1 0.0925

构建图表:

from bokeh.charts import Scatter
p = Scatter(chartdata, x='Date', y='Value', color='Category',xlabel='date', ylabel='Topics Distribution')

enter image description here

关于python - Bokeh 图时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43475198/

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