猿问

如果它是 stringList,我如何更新图形 x_range?

我想更改散景图的 x 轴。


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 = ["Marseille", "Paris"]  # how can i do that


push_notebook(handle=handler)

ValueError: expected an instance of type Range, got ['Marseille', 'Paris'] of type list

我无法从列表中创建范围,我该怎么办?


智慧大石
浏览 116回答 1
1回答

PIPIONE

您已经x_range在图形构造函数中设置了,稍后您将尝试设置它两次。但是你应该使用plot.x_range.factors = ["Marseille", "Paris"]:from bokeh.plotting import show, figurefrom bokeh.models import ColumnDataSource, VBarxrange = ["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, figurefrom bokeh.models import ColumnDataSourcexrange = ["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)
随时随地看视频慕课网APP

相关分类

Python
我要回答