R语言绘制双坐标轴的方法初探

640?wx_fmt=gif

点击上方蓝色字体,关注我们

640?wx_fmt=gif 作者简介

作者:吴健 中国科学院大学 R语言、统计学爱好者,尤其擅长R语言和Arcgis在生态领域的应用分享

个人公众号:统计与编程语言 


在数据可视化过程中,我们经常会将两种不同类型图表组合在同一个“画布”上,这就是大家所谓的双坐标轴组合图。近期有小伙伴问我怎么基于R语言绘制双坐标轴,因此小编整理了两种绘制双坐标图的方法供大家参考。

1.基于plotrix包的twoord.plot函数

加载程序包

library(plotrix)

构造示例数据集

Date <- seq(from=as.Date(‘2015-01-01’), to=as.Date(‘2015-12-01’), by=’month’)
Consumers <- c(100,80,120,153,200,188,220,322,300,321,282,304)
Amount <- c(1000,840,1458,1844,2045,2000,2548,5081,5000,5200,4800,4971)
df1 <- data.frame(Date=Date, Consumers=Consumers,Amount=Amount)

基于twoord.plot绘制双坐标图(两个条形图)


twoord.plot(lx=df1$Date, ly=df1$Consumers,rx=df1$Date,ry=df1$Amount,
 main=’双轴的两条线图’,xlab=’月份’, ylab=’会员人数’, rylab=’总消费额’, type=c(‘line’,’line’))

640?wx_fmt=png

基于twoord.plot绘制双坐标图(一个条形图加线图)

twoord.plot(lx=df1Date, ly=df1Consumers,rx=df1Date,ry=df1Amount,
 main=’双轴的两条线图’,xlab=’月份’, ylab=’会员人数’, rylab=’总消费额’, lcol=’steelblue’, type=c(‘bar’,’l’),
 xtickpos=as.numeric(df1Date), xticklab=as.character(df1Date),
 rytickpos=seq(500,5000,by=1500), halfwidth=8,do.first=’plot_bg(col=\’gray\’);grid(col=\’white\’,lty=2)’)


640?wx_fmt=png

2.基于ggplot2绘制双坐标条形图

加载程序包


library(ggplot2)
library(ReadAxfBOM)

构造示例数据集

obs <- ReadAxfBOM(“http://www.bom.gov.au/fwo/IDV60901/IDV60901.94866.axf“)
head(obs)

基于ggplot2绘制双坐标图


p <- ggplot(obs, aes(x = Timestamp))
p <- p + geom_line(aes(y=air_temp, colour = “Tempeture”))
p <- p + geom_line(aes(y=rel_hum/5, colour = “Humidity”))
p <- p + scale_y_continuous(sec.axis = sec_axis(~.*5, name = “Relative humidity [%]”))
p <- p + scale_colour_manual(values = c(“blue”, “red”))
p <- p + labs(y = “Air temperature [°C]”,x = “Date and time”,colour = “Parameter”)
p <- p + theme(legend.position = c(0.8, 0.9))
p

640?wx_fmt=png



往期回顾:

R语言绘制流程图(一)

R语言绘制流程图(二)


大家都在看

2017年R语言发展报告(国内)

精心整理 | R语言中文社区历史文章合集(作者篇)

精心整理 | R语言中文社区历史文章整理(类型篇)

640?wx_fmt=jpeg

公众号后台回复关键字即可学习

回复 爬虫            爬虫三大案例实战  
回复 
Python       1小时破冰入门

回复 数据挖掘     R语言入门及数据挖掘
回复 
人工智能     三个月入门人工智能
回复 数据分析师  数据分析师成长之路 
回复 机器学习      机器学习的商业应用
回复 数据科学      数据科学实战
回复 常用算法      常用数据挖掘算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值