加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

R:将文本添加到绘图区域外的右下角的图中

发布时间:2020-12-14 19:44:03 所属栏目:资源 来源:网络整理
导读:我正在绘制baseR中的多个图形,我试图在我的图形的下部右下角绘制一个文本.我尝试使用mtext(),但这并没有给我想要的结果.你会怎么做?最终的想法是生成如下图所示的内容.我怎么能这样做? 这是我用来生成图的代码. xy - data.frame(NAME=c("NAME1","NAME1","N
我正在绘制baseR中的多个图形,我试图在我的图形的下部右下角绘制一个文本.我尝试使用mtext(),但这并没有给我想要的结果.你会怎么做?最终的想法是生成如下图所示的内容.我怎么能这样做?

这是我用来生成图的代码.

xy <- data.frame(NAME=c("NAME1","NAME1","NAME2","NAME2"),ID=c(47,47,259,259),YEAR=c(1932,1942,1965,1989,2007,2008,2014),VALUE=c(0,NA,-6,-16,-9,-28),test=c("text1","text1","text2","text2"))

# split data by index 
ind <- split(x = xy,f = xy[,'ID'])

plot1 <- function(x) {
  fname <- paste0(x[1,'ID'],'.png')
  png(fname,width=1679,height=1165,res=150)
  par(mar=c(6,8,6,5))
  plot(x = c(1946,y = range(x$VALUE,na.rm=TRUE),type='n',main=x[1,'NAME'],xlab="Time [Years]",ylab="Value [m]")
  axis(2,at = seq(-100000,100000,100),cex.axis=1,labels=FALSE,tcl=-0.3)
  points(x[,c('YEAR','VALUE')],type="l",lwd=2)
  points(x[,type="p",lwd=1,cex=0.5,pch=21,bg='white')
  abline(h=0)
  mtext(x$test,side=1,)

  dev.off()
}

plot2 <- function(x) {
  fname <- paste0(x[1,res=150)    
  par(mar=c(6,5))
  plot(x[,ylab="value [m]")
  axis(2,side=1)
  dev.off() 
}

lapply(ind,function(x) ifelse(any(x$YEAR < 1946 & x$YEAR < 2014),plot2(x),plot1(x)))

解决方法

plot(1)
title(sub="hallo",adj=1,line=3,font=2)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读