gpt4 book ai didi

python - Bokeh - 显示带有分类范围的箭头

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:03 26 4
gpt4 key购买 nike

我正在尝试在带有分类轴的 Bokeh 图中显示箭头。

在下面的代码中,如果我注释 p.add_layout(Arrow()) 行,则该图会按预期很好地显示,并且 x 轴上有类别(但没有箭头)。

但是使用 p.add_layout(Arrow()) 行,我没有收到错误,但未显示图形。

from bokeh.plotting import figure, output_notebook, show
from bokeh.models import Arrow

output_notebook()

xLbl=['a', 'b', 'c']
p = figure(plot_width=600, plot_height=600, x_range=xLbl)

p.circle(x=xLbl, y=[0, 0, 0.7], radius=0.1,
color=["navy", "yellow", "red"], fill_alpha=0.1)


p.add_layout(Arrow(x_start='a', y_start=0, x_end='b', y_end=0))

show(p)

我在上面的代码片段中做错了什么?如何调试不显示的 Bokeh 图?

还有其他方法可以在 Bokeh 图中绘制箭头吗?是否可以向段字形添加箭头末端装饰?

通过以下代码片段,我得到一个带有箭头和自定义标签的图形,但不使用分类范围。我使用某种索引技巧来重新映射图形上的位置和自定义刻度格式:

from bokeh.plotting import figure, output_notebook, show
from bokeh.models import Arrow, FuncTickFormatter, Range1d, FixedTicker

output_notebook()

xLbl=['a', 'b', 'c']
x=[0, 1, 2]

p = figure(plot_width=600, plot_height=600, x_range=Range1d(-0.5, 2.5, min_interval=1))

p.circle(x=x, y=[0, 0, 0.7], radius=0.1,
color=["navy", "yellow", "red"], fill_alpha=0.1)
p.add_layout(Arrow(x_start=0, y_start=0, x_end=1, y_end=0))

p.xaxis.formatter = FuncTickFormatter(code="""
var labels = %s;
return labels[tick];
""" % xLbl)
p.xaxis.ticker = FixedTicker(ticks=x)

show(p)

但这似乎有点复杂,而且不是正确的方法......

最佳答案

尝试将“a”和“b”替换为 1 和 2。这似乎显示得很好,标签映射到底层 x 值。

from bokeh.plotting import figure, output_notebook, show
from bokeh.models import Arrow

output_notebook()

xLbl=['a', 'b', 'c']
p = figure(plot_width=600, plot_height=600, x_range=xLbl)

p.circle(x=xLbl, y=[0, 0, 0.7], radius=0.1,
color=["navy", "yellow", "red"], fill_alpha=0.1)


p.add_layout(Arrow(x_start=1, y_start=0, x_end=2, y_end=0))

show(p)

关于python - Bokeh - 显示带有分类范围的箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44145206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com