Я использую только часть BokehJS Bokeh, так как я строю более ориентированную на производство систему. К сожалению, похоже, что фактическая часть BokehJS Bokeh не документирована так сильно, что затрудняет поиск необходимой информации, например, как форматировать данные для объекта bokehJS.dataformat для нескольких строк в bokehjs
То, что я пытаюсь сделать, это сделать простой линейный график, однако вместо того, чтобы иметь только одну строку, я хотел бы иметь несколько строк и возможность создания легенды, описывающей каждую строку. Это очень простой сюжет, однако я не нашел никакого способа сделать это в bokehJS. Для того, чтобы сделать сюжет с одной строки я выполнить следующий JavaScript:
Bokeh.Plotting.show(
Bokeh.Plotting.make_plot({type:'line'}, {x:[1,2],y:[4,5]}, {})
,'.mydivcontainer');
Как я изменить это так, что я могу иметь 5 строк в том же участке, а также легенды, в основном похожа на это который записывается в стандартном боке:
из коллекций импорта OrderedDict импорта панд в э.р.
AAPL = pd.read_csv("aapl.csv", parse_dates=["Date"])
MSFT = pd.read_csv("msft.csv", parse_dates=["Date"])
IBM = pd.read_csv("ibm.csv", parse_dates=["Date"])
xyvalues = OrderedDict(
AAPL = AAPL[("Date", "Adj Close")],
MSFT = MSFT[("Date", "Adj Close")],
IBM = IBM[("Date", "Adj Close")],
)
df = pd.concat(xyvalues, axis=1, names=["l0", "l1"])
from bokeh.charts import TimeSeries
ts = TimeSeries(
df, title="timeseries, pd_input",
filename="stocks_timeseries.html")
ts.legend("top_left").show()
(Взятые из записки выпуска: http://continuum.io/blog/bokeh-0.6)
Большое спасибо заранее за вашу помощь
привет, извините за поздний ответ. Прежде всего - я не смог сказать спасибо за боке. Это отличный продукт, и я не смог найти ничего подобного на рынке - так что боке действительно хорошо, и я считаю, что есть пробел в доступных инструментах построения, которые могут покрыть боке. Я смотрел на создание библиотеки python-bokeh, как вы предполагали, но я не очень разбираюсь в кофейном скрипте ... и было бы действительно здорово на самом деле сделать это в bokehJS. Так не существует способа изменить код js выше, чтобы содержать несколько строк в любом случае? например. передать несколько строк в массиве данных? –