- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 154 个
- 通用积分
- 102.8396
- 学术水平
- 11 点
- 热心指数
- 11 点
- 信用等级
- 11 点
- 经验
- 1957 点
- 帖子
- 67
- 精华
- 0
- 在线时间
- 138 小时
- 注册时间
- 2014-1-11
- 最后登录
- 2025-9-29
已卖:1份资源
硕士生
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
 - 154 个
- 通用积分
- 102.8396
- 学术水平
- 11 点
- 热心指数
- 11 点
- 信用等级
- 11 点
- 经验
- 1957 点
- 帖子
- 67
- 精华
- 0
- 在线时间
- 138 小时
- 注册时间
- 2014-1-11
- 最后登录
- 2025-9-29
 | 开心 2022-6-13 21:50:36 |
|---|
签到天数: 21 天 连续签到: 1 天 [LV.4]偶尔看看III
|
经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
- 1、plotrix包 twoord.plot用法和参数解释
- # 1、用法/Usage:
- twoord.plot(lx,ly,rx,ry,data=NULL,main="",xlim=NULL,lylim=NULL,rylim=NULL,
- mar=c(5,4,4,4),lcol=1,rcol=2,xlab="",lytickpos=NA,ylab="",ylab.at=NA,
- rytickpos=NA,rylab="",rylab.at=NA,lpch=1,rpch=2,
- type="b",xtickpos=NULL,xticklab=NULL,halfwidth=0.4,axislab.cex=1,
- do.first=NULL,xaxt="s",...)
- # 2、参数解释:
- 1、lx,ly,rx,ry:左坐标轴和右坐标轴的值
- 注意:lx和rx值至少相邻,并且可能重叠
- 2、data:数据框
- 3、main:标题
- 4、xlim、lylim,rylim:限制横坐标值、左右纵坐标值的范围
- 5、mar:设置图形边界距,默认值为(5,4,4,4)
- 6、lcol、rcol:左右坐标轴的颜色
- 7、xlab:设置横坐标轴标签
- 8、lytickpos:设置左坐标轴刻度标签的位置
- 9、ylab:设置左坐标轴标签
- 10、ylab.at:设置左坐标轴标签位置
- 11、rytickpos:设置右坐标轴刻度标签的位置
- 12、rylab:设置右坐标轴标签
- 13、rylab.at:设置右坐标轴标签位置
- 14、type:指定图形类型 type
- "p" for points,"l" for lines,"b" for both,"c" for the lines part alone of "b",
- "o" for both ‘overplotted’,"h" for ‘histogram’ like (or ‘high-density’) vertical lines,
- "s" for stair steps,"S" for other steps, see ‘Details’ below,
- "n" for no plotting.
- 15、xtickpos:设置横坐标轴刻度标签位置
- 16、xticklab:设置横坐标轴刻度标签
- ……
- 详见R-gui帮助文档,代码:help(plotrix)
- ### 声 明:本内容为作者借助R3.6.3和Rstudio及相关包制作而成,仅供学习交流,咨询交流加wx:huyanggs 或Email:huyanggs@hotmail.com
- ### 主 题:双(Y)坐标轴制图
- ### 数据源:随机生成的数据集,未设置set.seed()
- ### author:@拴小林Nobeli
- ### 时 间:2020/3/29
- ## 1、加载plotrix包
- # install.packages("plotrix")
- library(plotrix)
- ## 2、简单双坐标折线图(x周数值包含)
- xval1 <- 2:10
- xval2 <- 1:15
- going_up <- seq(3,7,by=0.5)+rnorm(9)
- going_down <- rev(60:74)+rnorm(15)
- twoord.plot(lx = xval1,ly = going_up, rx = xval2, ry = going_down,xlab="Sequence",
- ylab="Ascending values",rylab="Descending values",lcol=4,
- main="Plot with two ordinates - points and lines",
- do.first="plot_bg();grid(col=\"white\",lty=2)")
- ## 3、简单双坐标折线图(x周数值重叠一致)
- xval <- seq.Date(as.Date("2017-01-01"),
- as.Date("2017-01-15"), by="day")
- going_up<-seq(3,7,length.out = 15)+rnorm(15)
- going_down<-rev(60:74)+rnorm(15)
- twoord.plot(xval, going_up, xval, going_down,xlab="Sequence",
- ylab="Ascending values",rylab="Descending values",lcol=4,
- main="Plot with two ordinates - points and lines",
- xtickpos=as.numeric(xval), xticklab=as.character(xval),
- do.first="plot_bg();grid(col=\"white\",lty=1)")
- # 注释:xtickpos=as.numeric(xval), xticklab=as.character(xval)两个参数是控制x轴显示日期的关键,请知晓~
- ## 4、折线&柱形混合双坐标图形
- twoord.plot(xval1, going_up, xval2, going_down, xlab="Sequence",
- lylim=c(-3,8), rylim=c(50,100), type=c("l","bar"),
- ylab="Ascending values", rylab="Descending values",
- text = list(going_up,going_down),
- lytickpos=3:7, rytickpos=seq(55,75,by=5), ylab.at=5,rylab.at=65,
- main="Lines on left axis, bars on right axis(含点数值标签)",
- lcol="red", rcol=4,do.first="plot_bg(\"white\")")
- ## 4.添加数值标签到图表中(补充:此部分为@拴小林Nobeli编写,因没有找到x相应参数,如有相关参数,望交流,感谢!!)
- #注意:
- # 1.添加left线形图形标签可直接使用text函数,
- # 2.但right柱形图形标签不适合直接使用text标签,需要将右侧ry值等比例转换为ly值
- # 3.转换公式:(ry-min(rylim))/(max(rylim)-min(rylim))* (max(lylim)-min(lylim))+ min(lylim)+位置调整值
- text(xval1, going_up,as.numeric(round(going_up)))
- text(xval2,
- (going_down-min(c(50,100)))/(max(c(50,100))-min(c(50,100)))*(max(c(-3,8))-min(c(-3,8)))+min(c(-3,8)+0.5),
- round(going_down))
- ## 5、带概率密度的双坐标图
- xhist<-hist(rnorm(100),plot=FALSE)
- xdens<-dnorm(seq(-3,3,by=0.05))
- twoord.plot(xhist$mids,xhist$counts,seq(-3,3,by=0.05),
- xdens,type=c("bar","l"),lcol=4,rcol=2,ylab="Counts",
- rylab="Density",main="Histogram and density curve",
- halfwidth=0.2,lylim=c(0,max(xhist$counts)+1),rylim=c(0,0.45),lwd=2)
复制代码
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|
|
|