下面是我的情节的屏幕截图。左边的图是我生成的图,右边的图是我平移以说明background_fill_color应用于何处的图。
标记为(x)的颜色是我想要在标记为(y)的区域中应用的颜色。
现在在下面添加了确切的代码
TOOLTIPS = [("(x,y)", "($x, $y)")]
p = figure(tools="pan,box_zoom,reset,save",
title=TITLE,x_range=x,
y_range=(<<my_y0_range_1>>,<<my_y0_range_2>>),
x_axis_label='time',y_axis_label='index',
plot_width=150, plot_height=100,toolbar_location="below",
tooltips=TOOLTIPS)
p.background_fill_color = <<mycolor>>
p.line(x, y0, legend_label="values", line_width=1)
p.extra_y_ranges = {"Vol": Range1d(start=<<my_y1_range_1>>,end=<<my_y1_range_2>>)}
p.line(x, y1, legend_label="my 2nd Y axis", line_color="red",y_range_name="Vol")
p.varea(x=x,y1=<<my_range_1>>,y2=<<my_range_2>>,alpha=0.3)
p.add_layout(LinearAxis(y_range_name="Vol"), 'right')
我应该使用什么属性用自己选择的颜色标记标记为(y)的区域,谢谢?
答案 0 :(得分:1)
进行了更多研究,并提出了以下建议:
在上述场景(以及与此类似的场景)中,background_fill_color似乎无关紧要,因为有340条xgrid线覆盖了它。在这种情况下,抑制网格线将显示出background_fill_color。
p.xgrid.grid_line_color = None
或
p.xgrid.visible = False
希望这对遇到相同问题的其他人有所帮助,在这些问题中,相对于绘图大小,您拥有相对较大的数据点集。要么放大绘图大小,要么抑止网格线(默认情况下,网格线似乎设置为某种“显示”模式,而不是仅在需要时才“启用/显示”)。我不是在抱怨默认行为,并且是bokeh及其简单性的忠实拥护者。向提出并继续作出贡献的人们致敬。