Я хотел бы предоставить фреймворк pandas для 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
Вместо этого ive удалось сделать это:
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)
Это (неуместно) выполняет эту работу, но использует один и тот же цвет для всех трех строк, см. ниже:
Вопросы:
1) как я могу передать pandas dataframe для bokeh multi_line?
2) Если это невозможно напрямую, как я могу манипулировать данными dataframe, чтобы multi_line создавала каждую строку с другим цветом?
заблаговременно