4

我正在做一个 14 列的条形图来表示一些数据,我将 names.arg 选项设置为显示为垂直标签,不幸的是,这导致新的垂直标签与我拥有的“sub”和“xlab”选项重叠。我该如何防止这种情况发生?

这是我的命令:

par(mar=c(6, 5, 4,7.5 ))
barplot(x, main=paste("title1 \n","subtitle"),
names.arg=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14),las=2, sub=("overlapping text1"),
xlab="overlapping text2", col = c("red2","darkorange3"))

我想到的另一个问题是,正如您从命令中看到的那样,我在“main”中使用了两行标题。是否可以使第二行字体更小,同时保持第一行的格式相同?

谢谢,

4

2 回答 2

8

更改标题之一的字体大小的一种解决方案是mtext()在具有不同cex=值的不同行中使用两个函数调用并main=barplot(). 为了克服重叠文本的问题,mtext()也可以用来代替xlab=and sub=。你只需要找到合适的line=并增加情节周围的空间par(mar=..)

x<-sample(letters[1:14],300,replace=TRUE)
par(mar=c(9,3,5,2))    
barplot(table(x),
        names.arg=paste0("very_long_",1:14),las=2, 
        col = c("red2","darkorange3"))
mtext(side=3,"Title1",line=2,cex=2)
mtext(side=3,"subtitle",line=1,cex=1.5)

mtext(side=1,"overlapping text1",line=6)
mtext(side=1,"overlapping text2",line=7)

在此处输入图像描述

于 2013-02-15T15:36:57.430 回答
2

另一个要查看的选项是staxlabplotrix 包中的函数。

另请查看函数的mgp参数,以par了解设置轴标题的默认位置的方法。

于 2013-02-15T16:40:42.650 回答