0

我有以下情节:

xleft<-c(1,2,2.5)
xright<-c(2,2.5,2.75)
ybottom<-c(1,2,2.5)
ytop<-c(2,2.5,2.75)

par(mar = c(15,15,2.75,2.75) + 0.1)
plot(c(1,2.75),c(1,2.75),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")
y.label<-c("Long species Name4","Long species Name5","Long species Name5")

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)

par(xpd=TRUE)
legend(-0.1,0,legend=c("Species A","Species B","Species C"),fill=c("blue", "red", "green"))

在此处输入图像描述

实际上看起来更像这样:

在此处输入图像描述

有没有办法将文本标签缩放到它们所代表的正方形的宽度?谢谢你的想法。

4

1 回答 1

1

您可以使用cex或其变体调整大小(取决于您添加文本的方式),请参阅?par变体和详细信息。但是对于小的,它们可能是不可读的(正如评论已经指出的那样)。

另一种方法是包中的spread.labs功能TeachingDemos

于 2012-08-26T01:32:00.900 回答