回复 第4楼 的 doctorjxd:
ggplot2想把多条曲线画在一张图上,需要把宽数据变长数据!下面就是画图的数据
quotes的数据集是这样的,后面的三列是布林线对应的数值
那怎么把这三根曲线和K线叠加在一起呢?
我试了试还是不成功!请指教!
[data]
time open high low close boll1 upper1 lower1
1 02/05/2013 10:10 13.25 13.25 12.57 13.01 NA NA NA
2 02/05/2013 10:50 13.01 13.19 12.92 13.08 NA NA NA
3 02/05/2013 13:00 13.08 13.09 12.96 13.00 NA NA NA
4 02/05/2013 13:40 12.98 13.01 12.84 12.91 NA NA NA
5 02/05/2013 14:20 12.90 13.13 12.89 13.06 NA NA NA
6 02/05/2013 15:00 13.02 13.19 12.97 13.05 NA NA NA
7 03/05/2013 10:10 13.19 13.35 13.01 13.17 NA NA NA
8 03/05/2013 10:50 13.18 13.40 13.17 13.37 NA NA NA
9 03/05/2013 13:00 13.38 13.48 13.28 13.33 NA NA NA
10 03/05/2013 13:40 13.30 13.35 13.26 13.26 NA NA NA
11 03/05/2013 14:20 13.26 13.33 13.25 13.33 NA NA NA
12 03/05/2013 15:00 13.33 13.34 13.27 13.29 NA NA NA
13 06/05/2013 10:10 13.30 13.54 13.30 13.38 13.17231 13.33418 13.01044
14 06/05/2013 10:50 13.41 13.47 13.38 13.41 13.20308 13.36948 13.03667
15 06/05/2013 13:00 13.40 13.48 13.39 13.45 13.23154 13.40655 13.05652
16 06/05/2013 13:40 13.44 13.51 13.42 13.51 13.27077 13.44672 13.09482
17 06/05/2013 14:20 13.51 13.60 13.51 13.58 13.32231 13.48106 13.16355
18 06/05/2013 15:00 13.58 13.59 13.44 13.50 13.35615 13.50058 13.21173
19 07/05/2013 10:10 13.51 13.74 13.51 13.62 13.40000 13.52949 13.27051
20 07/05/2013 10:50 13.62 13.62 13.43 13.51 13.42615 13.53852 13.31379
21 07/05/2013 13:00 13.53 13.66 13.52 13.63 13.44615 13.57022 13.32209
[/data]
代码:
<br />
len<-dim(quotes)[1]<br />
a<-quotes[,-c(1:5)] ##把曲线的数据单独提取出来,以为变长数据做准备<br />
c<- data.frame(a,time=1:len) ##新增加一列做x轴标量</p>
<p>quotes_melt1<- melt(data=c,id.vars="time",measure=c("boll1","upper1","lower1"))<br />
g1 <- ggplot(data=quotes_melt1,aes(x=time,y=value,color=variable))+<br />
geom_line() + theme(legend.position='none')<br />
g1<br />
上面的代码是根据《ggplot2:数据分析与图形艺术》的【9.2 把数据化“宽”为“长”】里面的代码改的!
</p>