更改单个网格线颜色ggvis

Change a single grid line color ggvis

我正在使用 ggvis 创建一些绘图。我想知道是否可以只更改一条水平网格线的颜色。例如,在 运行 代码之后,我想将刻度线 = 60 的网格线的颜色更改为红色。

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

我知道用layer_lines加横线是一种方法,但在我的实际情况下,这种方法是行不通的。在 google 上进行了一番深入搜索后,我仍然不知道该怎么做。提前感谢您的帮助。

您可以将命名的参数列表传递给 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)))