首页 > 解决方案 > 我可以在散景图的 y_range 中加粗单个元素吗?

问题描述

我想加粗我的 y_range 中的一些值,而不是其他值。

我试过使用 p.yaxis.major_label_text_font_style = 'bold'。这使一切变得大胆。我也尝试将它设置为等于 ColumnDataSource 中的一列,但major_label_text_font_style 不接受它作为输入。

# Orient y axis labels
p.yaxis.major_label_text_font_size = '18pt'
p.yaxis[0].major_label_text_font_style = 'bold'
p.yaxis.major_label_text_font = "calibri"

我希望 y_range 中的一些文本加粗,但不是所有文本

标签: textlabelbar-chartbokehaxis

解决方案


从 Bokeh 1.1 开始,没有内置的方法可以实现这一点。[1]主要原因是,通常可以动态选择刻度标签和位置,作为平移和缩放的结果。无法保证您想要区别对待的刻度线实际上会被标记或显示在屏幕上。即,如果您不知道或控制第三个刻度是什么,那么说“使第三个刻度变为粗体”是没有用的。

但是,在分类刻度的情况下可能会做一些不同的事情,这些刻度通常总是全部显示,因此预先知道。我鼓励你提交一个GitHub 功能请求问题来讨论它。

[1] 可以潜在地创建一个自定义扩展 Axis 子类来执行此操作,但这将是一项不平凡的工作,因为Axis它是最复杂的 BokehJS 对象之一。


推荐阅读