如何在ggvis中添加特定点到图例?

时间:2017-06-18 08:37:20

标签: r shiny legend ggvis

基本上我有一个我在ggvis中绘制的数据框,但我想尝试为几个特定点着色并添加一个表来标记这些点的含义。到目前为止,我可以为这些点添加颜色,但我无法创建识别该点的图例。

g1 <- subset(ex, p == 0.10) 

ex %>% ggvis(x = ~p, y = ~Pa_Achieved) %>% layer_lines() %>% 
   layer_points() %>%  layer_points(data = g1, fill := "red") %>%
  add_axis("x", title ="p") %>% 
  add_axis("y", title = "Pa",
           properties=axis_props(labels=list(fontSize=12), 
                                 title=list(fontSize=12,dy=-25))) %>% 
  add_title(title = "Operating Characteristic Curve", 
            properties = axis_props(title=list(fontSize=20)))

基本上我想为此和其他三个点添加颜色,以及一个简单的图例,用于识别这些点是各自的颜色,并将其他点留下黑色。

1 个答案:

答案 0 :(得分:0)

要使用常量而不是变量制作图例,您需要= ~而不是:=。您可以控制用于填充scale_nominal的颜色,并可以使用add_legend更改图例的外观。

以下是使用 mtcars 的示例。

mtcars %>% 
     ggvis(x = ~mpg, y = ~wt) %>% 
     layer_points() %>%  
     layer_points(data = subset(mtcars, mpg == 33.9), fill = ~"mpg 33.9") %>%
     layer_points(data = subset(mtcars, mpg == 32.4), fill = ~"mpg 32.4") %>%
     scale_nominal("fill", range = c("red", "blue") ) %>%
     add_legend("fill", title = "groups" )

enter image description here