散景+绘制多级列的折线图

时间:2018-02-02 05:09:24

标签: python pandas bokeh

在枢轴操作后,我有一个带有如下列的数据框;
现在我想使用散景为这8列中的每一列绘制折线图。

df.columns       
MultiIndex(levels=[['A', 'B', 'C'], ['EXT', 'IC', 'INT']],   
labels=[[0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 0, 1, 2, 0, 1, 2]],  
names=['SCHED', 'DInd'])

我正在考虑为此使用for循环:

from bokeh.charts import Line, output_file, show       
from bokeh.plotting import figure, show, output_file 
p1 = figure(x_axis_type="datetime", title="All Schedules")    
for col in df:        
        p1.line(df.index, df[col], legend=col)       
output_file("line.html", title="example")       
show(p1) 

但是我似乎无法正确调用或选择多级列 你能帮忙吗

1 个答案:

答案 0 :(得分:0)

在你的情况下,你应该看到像

这样的错误
ValueError: expected an element of either String, Dict(Enum('expr', 'field', 'value', 'transform'), Either(String, Instance(Transform), Instance(Expression), List(String))) or List(String), got ('A', 'EXT')

它清楚地表明你传递的错误类型。在这种情况下,它是行字形函数的legend参数。您可以通过以下方式修复错误:写legend=str(col)