更改单个网格线颜色ggvis

时间:2015-10-28 21:53:23

标签: r ggvis

我正在使用ggvis创建一些情节。我想知道是否可以改变单个水平网格线的颜色。例如,在运行代码之后,我想将带有刻度标记= 60的网格线的颜色更改为红色。

iris %>%
  ggvis(~Species, ~Petal.Width) %>%
  layer_bars() %>% 
  add_axis('x', title = "Species") 

我知道添加layer_lines的水平线是一种方法,但在我的实际情况中,这种方式是不可行的。经过谷歌的一些密集搜索,我仍然无法弄清楚如何做到这一点。感谢您的帮助。

1 个答案:

答案 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)))

enter image description here