使用ggvis绘制R中带有误差条的多行

时间:2015-03-10 19:10:06

标签: r plot graph ggvis

我想在ggvis中添加一个点。我使用了cookbook located here

我的问题:我想使用不同的数据在此图表的顶部绘制另一条不同颜色的线条。此外,我想在两个线的上方和下方绘制小错误条,这两条线对应于我对IQR或SD数据的一些向量。有什么想法吗?

library(ggvis)
data(pressure)

带点的线:

pressure %>% ggvis(~temperature, ~pressure) %>%
  layer_points() %>% 
  layer_lines()

1 个答案:

答案 0 :(得分:1)

我可以回答你的第一个问题:如何使用不同的数据在第一张图的顶部绘制另一条不同颜色的线。我还没有在ggvis中找到错误条的解决方案。

您可以在定义各个图层时使用'data ='参数,如本页最底部的示例所示: http://ggvis.rstudio.com/data-hierarchy.html

定义一些数据集:

bend <- data.frame("Date" = seq(as.Date("2014-01-01"), as.Date("2014-01-31"), by = 1), 
               "PM25" = c(12.2, 3.5,  3.6, 12.5, 10.8,  9.0,  2.4,  1.5,  1.7,  1.7,
                          1.5,  1.4,  5.1,  6.1, 10.2, 10.9, 10.4, 10.4, 11.4, 12.7,
                          17.9, 5.9,  4.2, 11.8, 16.8,  5.8,  7.0,  9.6,  1.5,  5.4,  5.7))
albany <- data.frame("Date" = seq(as.Date("2014-01-01"), as.Date("2014-01-31"), by = 1), 
                 "PM25" = c(6.5, 5.7, 6.3, 11.4,  3.8,  5.9,  6.5,  3.1,  7.7,  6.7,
                            5.5,  7.2,  4.3, 11.2, 10.4, 10.0,  7.7, 13.2,  7.7, 19.9,
                            12.6, 8.6, 5.7, 8.4,  6.9, 15.7, 15.2, 16.2, 13.1, 11.3,  0.7))

制作图表:

ggvis(data = NULL, x = ~Date, y = ~PM25) %>%
layer_points(fill := "red", data = bend) %>%
layer_paths(stroke := "red", data = bend) %>%
layer_points(fill := "blue", data = albany) %>%
layer_paths(stroke := "blue", data = albany) %>%
add_axis("x", format = "%Y-%b-%d",  
       tick_padding = 30, title_offset = 80,
       properties = axis_props(
         labels = list(angle = 270)))

不幸的是,data =参数目前不支持layer_lines(参见这里:https://github.com/rstudio/ggvis/issues/440),但它正在使用layer_paths。