分享

在R中绘制双坐标轴(双y轴)的方法[转]

 朝闻书斋 2013-12-21

Posted on 2011年11月25日 by Yixf

为了方便演示,先虚构一套数据,如下所示:

1 2 3 4

d <- data.frame(name=c("zhao","qian","sun","li"),weight=c(62,58,79,60),height=c(178,169,180,173))x <- d$namey1 <- d$weighty2 <- d$height

使用plotrix包

程序代码

1 2 3 4 5

#png("2y_1.png")library(plotrix)xpos <- 1:4twoord.plot(xpos,y1,xpos,y2,xlim=c(0,5),lylim=c(0,100),rylim=c(100,190), lcol=4,rcol=2,xlab="name",ylab="Weight (kg)",rylab="Height (cm)",type=c("bar","b"),xticklab=x,halfwidth=0.2)#dev.off()

输出图片

2y_1

使用TeachingDemos包

程序代码

1 2 3 4 5 6 7 8 9 10

#png("2y_2.png")library(TeachingDemos)par(mar=c(5,5,4,5)+0.1)bar <- barplot(y1,ylim=c(0,100),ylab="Weight (kg)",col="blue",col.axis="blue",col.lab="blue")updateusr(1:2,range(0,100),1:2,range(100,190))lines(bar,y2,type="b",col="red")axis(4,col="red",col.ticks="red",col.axis="red")mtext("Heigth (cm)",side=4,line=3,col="red")mtext(x,side=1,line=1,at=bar,col="black")#dev.off()

输出图片

2y_2

不使用包

程序代码

1 2 3 4 5 6 7 8 9 10

#png("2y_3.png")par(mar=c(5,5,4,5)+0.1)bar <- barplot(y1,xlim=c(0,5),ylim=c(0,100),ylab="Weight (kg)",col="blue",col.axis="blue",col.lab="blue")mtext(x,side=1,line=1,at=bar,col="black")mtext("Name",side=1,line=3,col="black")par(new=T)plot(bar,y2,axes=F,xlim=c(0,5),ylim=c(100,190),xlab="",ylab="",col="red",type="b")axis(4,col="red",col.ticks="red",col.axis="red")mtext("Heigth (cm)",side=4,line=3,col="red")#dev.off()

输出图片

2y_3

参考资料

R语言如何作双坐标图

R软件中的双坐标

Correctly plotting bar and scatter chart on 2-y axis plot with par(new=T)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约