gpt4 book ai didi

r - 将文本添加到绘图轴而不删除 r 中现有的轴标签

转载 作者:行者123 更新时间:2023-12-04 19:52:37 26 4
gpt4 key购买 nike

我有以下情节

xleft<-c(1,2,3)
xright<-c(2,3,4)
ybottom<-c(1,2,3)
ytop<-c(2,3,4)

plot(c(1,4),c(1,4),type="n",main="title",xlab="site.x",ylab="ylab")
rect(xleft,ybottom,xright,ytop,col=c("blue","red","green"))

我想使用这些位置和标签在两个轴上添加相当长的物种名称

#Label position along  axes
x.label.position<-(xleft+xright)/2
y.label.position<-(ybottom+ytop)/2

#Labels
x.label<-c("Long species Name1","Long species Name2","Long species Name3")
x.label<-c("Long species Name4","Long species Name5","Long species Name5")

我想保留数字轴和轴标题。我还想添加一个图例。所以最终的产品看起来像这样

enter image description here

不用完全清除坐标轴的最佳方法是什么

par(xaxt = "n", yaxt = "n")

并添加文字?谢谢你的建议。

最佳答案

我认为这样做的方法,以及 R FAQ 7.27“如何创建旋转轴标签?”同意,就是在页边空白处留出空间,然后加上长标签文字。

 mx=12
my=12
par(mar = c(mx,my, 4, 2) + 0.1)
plot(c(1,4),c(1,4),type="n",main="title",xlab="site.x",ylab="ylab")
rect(xleft,ybottom,xright,ytop,col=c("blue","red","green"))
text(par()$usr[1]-0.5,y.label.position,y.label,xpd=TRUE,adj=1)
text(y=par()$usr[3]-0.5,x=x.label.position,x.label,xpd=TRUE,adj=1,srt=90)

您需要调整 mxmy 的字符串长度,并且可能还调整文本中的负偏移量以防止它与标签发生冲突.还要注意使用 xpd=TRUE 来停止将绘图剪切到图形区域。这也是获得图例的关键:

 par(xpd=TRUE)
legend(locator(1),legend=c("Species A","Species B","Species C"),
fill=c("blue", "red", "green"))

然后单击您想要图例的位置 - 或将 locator(1) 替换为 list(x=-0.7,y=0.6)

您可能会发现使用 ggplot 包更简单的方法。

关于r - 将文本添加到绘图轴而不删除 r 中现有的轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12121060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com