Plot Bokeh图填充半圆
我想在bokeh绘制一个填充的半圆,以显示填充管道()的模型,其中,根据用户输入,水位会发生变化。我查看了可用的glyphs(),但没有找到一个有效的glyphs。我希望我可以填充弧雕文,但这似乎是不可能的Plot Bokeh图填充半圆,plot,bokeh,glyph,Plot,Bokeh,Glyph,我想在bokeh绘制一个填充的半圆,以显示填充管道()的模型,其中,根据用户输入,水位会发生变化。我查看了可用的glyphs(),但没有找到一个有效的glyphs。我希望我可以填充弧雕文,但这似乎是不可能的 任何建议都将不胜感激。仅此而已,没有任何内置功能。查看您链接的图表,您可以将楔子字形(用于“pacman”部分)和补丁组合起来填充其余部分 from bokeh.io import show from bokeh.plotting import figure from math import
任何建议都将不胜感激。仅此而已,没有任何内置功能。查看您链接的图表,您可以将
楔子
字形(用于“pacman”部分)和补丁组合起来填充其余部分
from bokeh.io import show
from bokeh.plotting import figure
from math import pi, sin, cos
p = figure(match_aspect=True)
p.wedge(x=0, y=0, radius=1, start_angle=-5*pi/4, end_angle=pi/4)
p.patch(x=[0, -cos(pi/4), cos(pi/4)], y=[0, sin(pi/4), sin(pi/4)])
p.circle(0, 0, radius=1, fill_color=None, line_color="black", line_width=3)
# hack: Bokeh does not yet auto-range this odd combination well
p.rect(0, 0, 2, 2, color=None)
show(p)
如果需要以某种方式更新这些数据,您可能希望将其封装在某个帮助函数中,以生成正确的数据值和参数。最佳实践是尽可能先绘制一次图示符,然后在需要更改时仅更新其数据源
最后几点注意事项:
- 您需要
以确保“像素空间”和“数据空间”中的纵横比相同,这是确保圆实际上是“数据空间”中的圆所必需的match_aspect=True
要求您使用默认的自动范围。如果您设置了显式的范围值,Bokeh相信您知道您想要什么,即使这会弄乱方面match_aspect
- 这是单个图示符的奇怪组合。。。自动范围本身并不适合它们。我在圆圈周围添加了一个不可见的矩形来帮助它