我正在使用ggvis创建一些情节。我想知道是否可以改变单个水平网格线的颜色。例如,在运行代码之后,我想将带有刻度标记= 60的网格线的颜色更改为红色。
iris %>%
ggvis(~Species, ~Petal.Width) %>%
layer_bars() %>%
add_axis('x', title = "Species")
我知道添加layer_lines
的水平线是一种方法,但在我的实际情况中,这种方式是不可行的。经过谷歌的一些密集搜索,我仍然无法弄清楚如何做到这一点。感谢您的帮助。
答案 0 :(得分:4)
您可以将参数的命名列表传递给add_axis
,这些参数与vega选项相对应。在这种情况下,您可以创建常规y轴网格,然后添加具有特殊属性的另一个网格。请务必使用scaled_value
在相应的比例下进行正确定位。
iris %>%
ggvis(~Species, ~Petal.Width) %>%
layer_bars() %>%
add_axis('x', title = "Species") %>%
add_axis('y') %>%
add_axis('y', properties = axis_props(
grid = list(y=scaled_value('y', 60),
stroke='red', strokeOpacity=0.1)))