Я использую глиф VBar
для отображения гистограммы в Боке, и данные передаются на него через ColumnDataSource
. Кроме того, я хочу добавить различные оси Y при построении данных из одного из столбцов.
Таким образом, код выглядит следующим образом:
self.bar_text = ["V1, "V2", "V3"]
self.plot = figure(x_range=FactorRange(*self.bar_text), y_range=[0, 150])
# Now I add an extra y-axes which is displayed correctly
self.plot.extra_y_ranges = {"delay": Range1d(start=0, end=25)}
self.plot.add_layout(LinearAxis(y_range_name="delay"), 'right')
# The data will be fed to the graph via th column data source
self.input_sources = ColumnDataSource(dict(x=[], top=[], color=[]))
self.bar_glyph = VBar(x="x", top="top", bottom=0, width=0.2, fill_color="color")
self.plot.add_glyph(self.input_sources, self.bar_glyph)
Я могу подать данные для этого счто-то вроде:
obj.input_sources.stream(dict(x=['V1', 'V2', "V3"],
top=[30, 50, 10],
color=["blue", "blue", "red"]), 3)
Однако я не уверен, как я могу связать последний столбец V3
со вторыми дополнительными осями Y.