在ggplot中为变量赋予容差

时间:2013-01-11 23:45:14

标签: r plot ggplot2

我有两组时间序列数据。 我想把它们放在单一的情节中。 我使用了以下代码:

temp <- data.frame(HMn29_29$avg_val, HMn28_29$avg_val, HMn29_29$h)
ggplot(temp, aes(HMn29_29.h)) + ylim(-2, 13) +
    geom_line(aes(y = HMn28_29.avg_val, colour = "Tempratur")) + 
    geom_line(aes(y = HMn29_29.avg_val, colour = "TempratureA")) +
    opts(title = 'chart_title')

我想在情节中指定HMn29_29$avg_val的+6和-.6容差。

HMn29_29的示例数据:

                     h    avg_val
1  2007-09-29 00:00:00 -1.3250000
2  2007-09-29 01:00:00 -0.4670000
3  2007-09-29 02:00:00 -0.4426667
4  2007-09-29 03:00:00 -0.6396667
5  2007-09-29 04:00:00 -0.7843333
6  2007-09-29 05:00:00 -0.5563333
7  2007-09-29 06:00:00 -0.7276667
8  2007-09-29 07:00:00 -0.6260000
9  2007-09-29 08:00:00 -0.7290000
10 2007-09-29 09:00:00  0.4976667

HMn28_29的示例数据:

                     h    avg_val
1  2007-09-29 00:00:00 -1.9225000
2  2007-09-29 01:00:00 -1.6676667
3  2007-09-29 02:00:00 -1.5820000
4  2007-09-29 03:00:00 -1.5716667
5  2007-09-29 04:00:00 -1.8290000
6  2007-09-29 05:00:00 -1.6153333
7  2007-09-29 06:00:00 -1.8093333
8  2007-09-29 07:00:00 -1.9303333
9  2007-09-29 08:00:00 -1.3980000
10 2007-09-29 09:00:00  1.2270000

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我将您的数据合并为一个并命名为“datafromstackoverflow.csv”。修改后的数据如下:


h   x29_29  x28_29
9/29/2007 0:00  -1.325  -1.9225
9/29/2007 1:00  -0.467  -1.6676667
9/29/2007 2:00  -0.4426667  -1.582
9/29/2007 3:00  -0.6396667  -1.5716667
9/29/2007 4:00  -0.7843333  -1.829
9/29/2007 5:00  -0.5563333  -1.6153333
9/29/2007 6:00  -0.7276667  -1.8093333
9/29/2007 7:00  -0.626  -1.9303333
9/29/2007 8:00  -0.729  -1.398
9/29/2007 9:00  0.4976667   1.227

我以前编写的代码如下:

data <- read.csv("datafromstackoverflow.csv",header=TRUE,sep=",")
p <- ggplot(data,aes(h,x29_29))  
p <- p + geom_point(data=data,aes(x=h,y=x29_29),color="blue")  
p <- p + geom_point(data=data,aes(x=h,y=x28_29),color="red")  
p

我希望这会对你有所帮助。

Jdbaba

答案 1 :(得分:1)

我已经玩了一点数据并想出了这个。

我将x29_29重命名为A,将x28_29重命名为B.

我使用了geom_ribbon功能,看起来这就是你要找的东西。您可以在geom_ribbon上找到有关选项的更多详细信息 Geom Ribbon

我使用的代码如下:

data <- read.csv("datafromstackoverflow.csv",header=TRUE,sep=",")
data
p <- ggplot(data,aes(x=h))
p <- p+ geom_ribbon(aes(ymin=A-0.06,ymax=A+0.06),fill="blue")
p <- p + geom_ribbon(aes(ymin=B-0.06, ymax=B+0.06),fill="red")
p

我获得的图表如下:

enter image description here

蓝线表示A,红线表示B.如果需要,可以添加图例。

Jdbaba