24小时热门版块排行榜    

查看: 1588  |  回复: 20
【奖励】 本帖被评价9次,作者学员762E0L增加金币 8
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

[资源] ★★★★★ 五星级,优秀推荐

支持。祝新春快乐!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zwdbordeaux

木虫 (正式写手)


折线图的制作


前面对数据作了柱状图,柱状图适用于x轴是分类数据的时候,比如本例的品种。当x轴是一系列数据的时候,比如说处理后的时间或者播种后的时间,这个时候更希望得到一种变化的趋势,所以折线图更加合适。为了显示如何做折线图,这个地方把播种日期作为数值来运用。
#在group数据中添加一列播种日期,注意另外一个播种日期列的属性(mode)为factor,也就说他们会被认为是字符。
group$date2<-rep(c(16,20,22),2)
#为了添加误差线,需要运用plotrix这个包中的plotCI这个方程,所以先加载这个包。
library(plotrix)
#计算重量和VC含量的变化范围,这样可以方便定义Y轴的刻度范围(ylim)
ran.wt<-range(cab$HeadWt)
ran.vc<-range(cab$VitC)
#同样的对图进行组合
par(mfrow=c(2,1),mai=c(0,0,0,0),omi=c(0.6,0.6,0.1,0.1))
#首先把图的框架画出来
plot(group$date2,group$Meanwt,type="n",ylim=ran.wt,xaxt="n"
#添加品种39的结果和它们的标准误差
plotCI(x=group[group$Cul=="39","date2"],y=group[group$Cul=="39","Meanwt"],liw=group[group$Cul=="39","SEwt"],uiw=group[group$Cul=="39","SEwt"],pch=2,add=TRUE)
#添加连接的折线
lines(x=group[group$Cul=="39","date2"],y=group[group$Cul=="39","Meanwt"],lty=1,lwd=2)
#添加品种52的数据点和标准误差
plotCI(x=group[group$Cul=="52","date2"],y=group[group$Cul=="52","Meanwt"],liw=group[group$Cul=="52","SEwt"],uiw=group[group$Cul=="52","SEwt"],pch=0,add=TRUE)
#添加折线
lines(x=group[group$Cul=="52","date2"],y=group[group$Cul=="52","Meanwt"],lty=2,lwd=2)
#添加小图标志
text(16,4,"A",font=2)
#添加图例
legend(18,4,legend=c("CV39","CV52",lty=c(1,2),pch=c(1,0),bty="n"
#对vc含量进行类似操作。读者可以与之前比较看这些命令之间改动的地方,熟悉之后其实可以复制粘铁替换就轻松搞定了。
plot(group$date2,group$Meanvc,type="n",ylim=ran.vc)
plotCI(x=group[group$Cul=="39","date2"],y=group[group$Cul=="39","Meanvc"],liw=group[group$Cul=="39","SEvc"],uiw=group[group$Cul=="39","SEvc"],pch=2,add=TRUE)
lines(x=group[group$Cul=="39","date2"],y=group[group$Cul=="39","Meanvc"],lty=1,lwd=2)
plotCI(x=group[group$Cul=="52","date2"],y=group[group$Cul=="52","Meanvc"],liw=group[group$Cul=="52","SEvc"],uiw=group[group$Cul=="52","SEvc"],pch=0,add=TRUE)
lines(x=group[group$Cul=="52","date2"],y=group[group$Cul=="52","Meanvc"],lty=2,lwd=2)
text(16,80,"B",font=2)
mtext("播种日期",side=1,adj=0.5,outer=TRUE,line=2)
mtext("重量(kg)",side=2,at=0.75,adj=0.5,outer=TRUE,line=2)
mtext("维他命含量(mg/kg)",side=2,at=0.25,adj=0.5,outer=TRUE,line=2)
9楼2010-02-17 04:46:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 21 个回答

toltec

铜虫 (小有名气)


★★★★★ 五星级,优秀推荐

支持一下,R是很牛逼的!
2楼2010-02-13 19:19:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

estrid

金虫 (正式写手)


★★★★★ 五星级,优秀推荐

虽然不是学农业的,不过对数据处理感兴趣
支持lz
新年快乐
3楼2010-02-13 22:25:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zwdbordeaux

木虫 (正式写手)


引用回帖:
Originally posted by toltec at 2010-02-13 19:19:55:
支持一下,R是很牛逼的!

多谢,很高兴看到熟习R的人。

我本来还在合计是否介绍R会有些突兀呢!
4楼2010-02-14 03:28:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见