Вы уже установили x_range
в конструкторе фигур и пытаетесь установить его дважды позже.Но тогда вы должны использовать plot.x_range.factors = ["Marseille", "Paris"]
:
from bokeh.plotting import show, figure
from bokeh.models import ColumnDataSource, VBar
xrange = ["Marseille", "Lyon"]
plot = figure(x_range = xrange)
plotSource = ColumnDataSource(data = dict(x = xrange, y = [1, 2]))
bars = VBar(x = "x", top = "y", width = 0.1, fill_color = "black")
plot.add_glyph(plotSource, bars)
handler = show(plot, notebook_handle = True)
plot.x_range.factors = ["Marseille", "Paris"]
show(plot)
Или, возможно, вам нужен более простой код (используя source
):
from bokeh.plotting import show, figure
from bokeh.models import ColumnDataSource
xrange = ["Marseille", "Lyon"]
p = figure(x_range = xrange)
source = ColumnDataSource(data = dict(x = xrange, y = [1, 2]))
bars = p.vbar(x = "x", top = "y", source = source, width = 0.1, fill_color = "black")
show(p)