График переменного числа линий / кривых с боке - PullRequest
0 голосов
/ 25 июня 2019

Я генерирую кадр данных pandas со многими столбцами "y" (y1, y2, y3 ...) и одним столбцом "x". Х-столбец всегда одинаков. Я хочу построить все эти x-y линии / кривые на одном графике.

Можно ли сделать так, чтобы bokeh отображал количество строк в зависимости от того, сколько столбцов "y" находится в моем фрейме данных? Так что часть сценария при построении не зависит от фиксированного числа столбцов "y" и может работать с любым фреймом данных с числом столбцов n?

1 Ответ

1 голос
/ 25 июня 2019

Вы можете просто зациклить:

import pandas as pd

df = pd.DataFrame({
  'x'  : [1,2,3],
  'y0' : [1,3,2],
  'y1' : [2,1,3],
})

colors = ['red', 'blue']

from bokeh.io import show
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure

source = ColumnDataSource(df)
p = figure(plot_height=250)

i = 0
for name in df.columns:
    if not name.startswith('y'): continue
    p.line('x', name, color=colors[i], source=source)
    i += 1

show(p)

enter image description here

...