我想給一張熊貓數據框給Bokeh繪製多行的折線圖。 x軸應該是df.index,每個df.columns應該是一個單獨的行。用散景和熊貓繪製多條線
這是我還是執意想做什麼:
import pandas as pd
import numpy as np
from bokeh.plotting import figure, show
toy_df = pd.DataFrame(data=np.random.rand(5,3), columns = ('a', 'b' ,'c'), index = pd.DatetimeIndex(start='01-01-2015',periods=5, freq='d'))
p = figure(width=1200, height=900, x_axis_type="datetime")
p.multi_line(df)
show(p)
但是,我得到的錯誤:
RuntimeError: Missing required glyph parameters: ys
相反,我已經成功地做到這一點:
import pandas as pd
import numpy as np
from bokeh.plotting import figure, show
toy_df = pd.DataFrame(data=np.random.rand(5,3), columns = ('a', 'b' ,'c'), index = pd.DatetimeIndex(start='01-01-2015',periods=5, freq='d'))
ts_list_of_list = []
for i in range(0,len(toy_df.columns)):
ts_list_of_list.append(toy_df.index)
vals_list_of_list = toy_df.values.T.tolist()
p = figure(width=1200, height=900, x_axis_type="datetime")
p.multi_line(ts_list_of_list, vals_list_of_list)
show(p)
那(無意地)完成這項工作,但它對所有3條線都使用相同的顏色,如下所示: 個
問題:
1)我怎麼能傳遞一個數據幀大熊貓對背景虛化的multi_line?
2)如果不能直接使用,我該如何處理數據幀數據,以便multi_line將創建每行不同的顏色?
在此先感謝
注意,使用multi_line用於繪製數據幀的列的一個嚴重的缺點是,它是不會輕易可以添加每個列的圖例項。請參閱[本問答](http://stackoverflow.com/questions/31419388/bokeh-how-to-add-legend-to-figure-created-by-multi-line-method) – jhin
是否可以添加懸停工具到這樣一個數字? –
@NicoleGoebel:這可能是有用的:http://stackoverflow.com/questions/31496628/in-bokeh-how-do-i-add-tooltips-to-a-timeseries-chart-hover-tool – bs123