旋转xlabel并将x轴标题与标签解耦

问题描述 投票:0回答:1

我现在已经尝试了很多事情,但是似乎对我不起作用。我正在寻找一种解决方案,以将我的x轴标签(到45°)旋转并解耦该轴的标题,以使标签不会覆盖我的轴标题。这是我的代码

barplot(regions$no_rows,xlab="regions",ylab="number of occurences",
        main="XXX", 
        names.arg = regions$ID, las=2,cex.lab=1,cex.names= 0.65)

这就是我得到的:enter image description here

我已经裁剪了边距并缩小了标签的字体,但没有解决方案,它只是向我显示图形,然后向我显示除标签外的轴标题。使用此解决方案,我也不会倾斜45°。我也尝试了一些代码,例如:

regions = regions[with(regions, order(-no_rows)), ] 
end_point = 0.5 + nrow(regions) + nrow(regions)-1 
barplot(regions$no_rows, col="grey50", 
        main="XXX",
        ylab="occurences", ylim=c(0,5+max(regions$no_rows)),
        xlab = "regions",
        space=1)
text(seq(-0.5,end_point,by=2), par("usr")[3], 
     srt = 45, adj= 1, xpd = TRUE,
     labels = paste(regions$ID), cex=0.65) 

看起来也不好,因为x轴标题再次太靠近标签,但标签又太靠近条形:enter image description here

非常感谢您的帮助!附注:可以说这是我得到的df

regions
ID    no_rows
A       100
B        8
C        50
......

我现在已经尝试了很多事情,但是似乎对我不起作用。我正在寻找一种解决方案,以将我的x轴标签旋转(成45°)并解耦轴的标题,以使标签不会...

r label bar-chart axis
1个回答
0
投票

我不确定您要寻找的正是它,但是如果您不必停留在barplot上,则可以使用ggplot2来解决此问题,方法是使用[ C0]函数,可用于更改x标签的角度并调整其位置以使其与轴不重叠:

© www.soinside.com 2019 - 2024. All rights reserved.