У меня есть фрейм данных, считанный из .csv в следующем формате:
version, 2x8x8, 2x8x10, 2x8x12, ...
v1.0.0, 10.2, 9.2, 8.2,
v1.0.1, 11.3, 10.4, 10.2,
v1.0.2, 9.5, 9.3, 9.1,
...
Я хочу построить этот фрейм данных в виде многострочного графика в боке, где каждый столбец имеет свою собственную линию. Ось x - это номер версии, а значения y - это содержимое столбца, исключая заголовок.
Я попытался сослаться на сами документы bokeh , но не могу найти лучший способ извлечь столбцы в виде "списков списков", как ожидает bokeh.
# produces empty plot
f = figure(title='Example title')
versions = list(df['version'])
values = [list(df['2x8x8']), list(df['2x8x10']), ...]
f.multi_line(xs=versions, ys=values)
Когда я пытаюсь использовать альтернативный подход ColumnDataSource
, также указанный в bokeh docs , график принимает все мои значения y и создает новую строку для каждого.
# produces plot seen below
df = pd.read_csv(my.csv)
data_source = ColumnDataSource(df)
f = figure(title="Example")
f.line(x='version', y='2x8x8', source=data_source, line_width=2, legend='2x8x8')
f.line(x='version', y='2x8x10', source=data_source, line_width=2, legend='2x8x10')
f.xaxis.axis_label = 'version'
Любая помощь очень ценится!