python - 如何为散景中的“X”轴分配多种颜色?
问题描述
我想在散景中制作一个看起来像这样的折线图:
如何为X-axis
散景设置多种颜色?
我尝试使用p.xaxis.axis_line_color
,p.xaxis.bounds
但它们不允许我将多种颜色分配给单个轴。
我怎样才能得到想要的结果?
谢谢。
解决方案
我不认为有 Bokeh 功能可以做到这一点,但你可以自己画。
#!/usr/bin/python3
from bokeh.plotting import figure, show
from bokeh.models import LabelSet, ColumnDataSource
p = figure(plot_width=400, plot_height=400, x_range=(-1.5, 9.5), y_range=(-1.5, 9.5))
p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=20, color="navy", alpha=0.5)
p.xaxis.visible = False
p.yaxis.visible = False
p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None
p.multi_line(xs=[[0, 3], [3, 6], [6, 9], [0, 0], [0, 0], [0, 0]], ys=[[0, 0], [0, 0], [0, 0], [0, 3], [3, 6], [6, 9]], color=['green', 'yellow', 'red', 'green', 'yellow', 'red'], line_width=2)
source = ColumnDataSource({'x':[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], 'y':[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,], 'text':['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']})
labels = LabelSet(x='x', y='y', text='text', source=source, x_offset=-10, y_offset=-10)
p.add_layout(labels)
show(p)
推荐阅读
- class - 我正在尝试清除元素键上的错误对象但没有成功
- javascript - react-router-dom 页面不会切换?
- angular - Observable 不订阅延迟加载的模块
- python - 我的带有身份内核的 PyTorch Conv1d 不会产生与输入相同的输出
- php - 有没有办法从使用循环创建的表中设置 $_SESSION 变量
- javascript - For with Return in Javascript
- azure - Azure 文件共享与 AAD DS 的集成
- javascript - 将数据更新/插入 mysql 时面临 mysqli_query 问题
- bash - Shell 脚本错误:“回显:写入错误:超出磁盘配额”
- firebase - Firebase - 保留率(队列)