将字典值绘制到multi_line / timeseries散景图

时间:2017-04-03 23:41:02

标签: python python-3.x pandas dictionary bokeh

我有一个已定义的值字典,其中key是字符串形式的日期,值是浮点数组。

字典看起来像这样:

dict = 
{'2017-03-23': [1.07874, 1.07930, 1.07917, 1.07864,], 
'2017-03-27': [1.08382, 1.08392, 1.08410, 1.08454], 
'2017-03-24': [1.07772, 1.07721, 1.07722, 1.07668]}

我想在Bokeh line_chart上将每个日期显示为单独的一行。由于日期间隔会随着时间的推移而变化,我不想简单地为每个日期定义p1.line,p2.line,p3.line(静态集),因为绘制日期的数量会随着时间而变化。

我试图按照这里的教程进行操作:http://bokeh.pydata.org/en/0.9.3/docs/user_guide/charts.html但我一直在努力并且遇到错误。

这是我的代码:

#input dates at this occasion
dates = ['2017-03-27','2017-03-24', '2017-03-23']

#dataframe is taken from input and contains columns date,time,close and other columns that I am not using
df

#I create a dictionary of dataframe in the structure described above
dict = {k: list(v) for k, v in df.groupby("date")["close"]}

#i want to plot chart
output_file("chart2.html")
p = figure(title="Dates line charts", x_axis_label='Index', y_axis_label='Price')
p = TimeSeries(dict, index='Index', legend=True, title="FX", ylabel='Price Prices')
show(p)

我收到此错误:

AttributeError:图表的意外属性'index',可能的属性在上面,background_fill_alpha,background_fill_color,下面,border_fill_alpha,border_fill_color,css_classes,disabled,extra_x_ranges,extra_y_ranges,h_symmetry,height,hidpi,inner_height,inner_width,js_callbacks ,left,lod_factor,lod_interval,lod_threshold,lod_timeout,min_border,min_border_bottom,min_border_left,min_border_right,min_border_top,name,outline_line_alpha,outline_line_cap,outline_line_color,outline_line_dash,outline_line_dash_offset,outline_line_join,outline_line_width,plot_height,plot_width,renderers,right,sizing_mode,tags,title ,title_location,tool_events,toolbar,toolbar_location,toolbar_sticky,v_symmetry,webgl,width,x_mapper_type,x_range,xlabel,xscale,y_mapper_type,y_range,ylabel或yscale

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您正在查看非常旧的文档(0.9.3)。散景时间序列can be found here的最新文档(0.12.4)。

如您所见,Timeseries不再接受index参数。可用参数是

  

数据(list(list),numpy.ndarray,pandas.DataFrame,list(pd.Series)) -   一个2d数据源,每个阶梯线都有数据列。

     

x (str或   list(str),optional) - 指定用于x轴的变量

     

y (str   或list(str),optional) - 指定用于y轴的变量

     

builder_type (str或Builder,可选) - 要使用的构建器类型   制作渲染器。支持的选项是'line','step'或   “点”。

只需按照最新文档中给出的示例进行操作即可,您不应遇到同样的问题。