2016-08-17 81 views
-1

问题: 我有一个数据框,我构建了这样我可以创建一个看起来像这样的图。 enter image description hereR - 用多行图形化数据帧

本质上我想有一个边界,然后一些线路在中间。

我无法理解如何做到这一点。我已经阅读了一些教程,但可以使用一些特定的帮助。

数据 enter image description here

我已经建立了最基本的图形,但我看不到前进的道路。

p <- ggplot(geomean.build.time.by.user) 
p + geom_line(aes(x = week, y = user_geomean_build_time), stat = "smooth", method = "loess") 

enter image description here

+1

请参阅'?geom_ribbon'。 – Gregor

+0

您也可以使用'geom_smooth()'而不是'geom_line'和'stat ='smooth''。默认值为黄土平滑线,置信区间为带状图。 – Gregor

+0

@Gregor我会研究geom_ribbon。我已经尝试了两种方法。我不认为我的数据在这两方面都有很大的不同。 – zach

回答

0

所以我放在一起非常基本的图表。没有什么花哨。我只是想确定这个数据是否有价值。

p <- ggplot(geomean.build.time.by.user) 
p + geom_line(aes(x = week, y = user_geomean_build_time), stat = "smooth", method = "loess", colour = "#00DCFF", size = 2) + 
geom_line(aes(x = week, y = proj_geomean_build_time), colour = "#E85831", linetype = "dashed", size = 1) + 
geom_line(aes(x = week, y = user_geomean_bt_plus_sd), colour = "#0ED26E", size = 2) + 
geom_line(aes(x = week, y = user_geomean_bt_minus_sd), colour = "#0ED26E", size = 2) + 
geom_line(aes(x = week, y = proj_geomean_bt_plus_sd), colour = "#00695D", size = 2) + 
geom_line(aes(x = week, y = proj_geomean_bt_minus_sd), colour = "#00695D", size = 2) 

编辑

我把意见和改为丝带。整体看起来更好,但它并没有给我我期待的看法。

p <- ggplot(geomean.build.time.by.user) 
p + geom_line(aes(x = week, y = user_geomean_build_time)) + 
geom_ribbon(aes(ymin = proj_geomean_bt_minus_sd, ymax =proj_geomean_bt_plus_sd, x = week, fill = "avg org build time +/- sd")) + 
geom_ribbon(aes(ymin = user_geomean_bt_minus_sd, ymax = user_geomean_bt_plus_sd, x = week, fill = "avg dev build time +/- sd")) + 
geom_line(aes(x = week, y = user_geomean_build_time), stat = "smooth", method = "loess", colour = "#F2F2F2", size = 2) + 
geom_line(aes(x = week, y = proj_geomean_build_time), colour = "#F20404", linetype = "dashed", size = 1) 
+0

好像你可能想用'geom_ribbon'来制作两个信封,使用“... plus_sd”作为'ymax'和“... minus_sd”作为'ymin '。 – aosmith