更改散景中双轴标签文本的颜色

时间:2018-01-25 05:04:49

标签: python graph colors bokeh linegraph

在标准的Bokeh线图上,可以使用以下代码设置y轴标签文本的颜色:

graph.yaxis.major_label_text_color = "#1F77B4"

可以在图表中添加第二个y轴,产生双轴。以下代码将实现此目的:

graph.extra_y_ranges = {"range2": bokeh.models.Range1d(start = 0, end = 500)}
graph.add_layout(bokeh.models.LinearAxis(y_range_name = "range2"), "left")

但是,目前尚不清楚如何更改第二个y轴的标签文本的颜色。第一个代码块没有指定哪个y轴,但它影响原始的y轴。如果每组标签的颜色与他们测量的线条相对应,那就太好了。如何改变新y轴的颜色?

2 个答案:

答案 0 :(得分:2)

p.xaxisp.yaxis等属性实际上是列表:

In [41]: p.add_layout(LinearAxis(y_range_name="foo"), 'left')

In [42]: p.yaxis
Out[42]:
[LinearAxis(id='c9d9c010-3698-4906-83b0-e8a9a244e4be', ...),
 LinearAxis(id='c991b6b3-e85a-4033-b028-4e2ee134df1c', ...)]

但是,因为更常见的情况是有一个轴,所以可以这样做:

p.yaxis.major_label_text_color = "red"

为方便起见。这将为所有 y轴设置属性值。但是你只想改变一个,而不是全部,你可以通过索引来显示:

p.yaxis[1].major_label_text_color = "red"  

作为参考,这些都记录在User's Guide chapter Styling Visual Attributes

答案 1 :(得分:1)

graph.add_layout(bokeh.models.LinearAxis(y_range_name = "range2",

axis_label_text_color ='绿色'),“左”)