簡體   English   中英

r中條形圖中的中心條標簽

[英]Centring bar labels in bar plots in r

如何將標簽在x軸上居中以與條形匹配? 另外,如何將x軸標簽向下放置,以免被x軸標簽遮蓋? 謝謝!

par(mar= c(15,4,4,2) + 0.1)
barplot(58:1,xaxt="n",xlab="",ylab="Frequency", col=gray(5:0/5))
axis(1, labels=FALSE)
text(1:58, par("usr")[3] - 0.25, srt = 90, adj = 1,
labels = rep("Long Species Name",58), xpd = TRUE)
mtext(1, text = "Species", line=6)

在此處輸入圖片說明

barplot()barplot()的返回值(通過閱讀?barplot )。 在那里,我們發現條的中點由函數作為向量返回。 因此,分配返回的對象(這里是對象bar ),然后在調用axis()使用它來定位刻度線是一件簡單的事情。

axis()調用中,請注意,我們同時指定了labels參數 at參數,其中at設置為存儲在bar的bar中點。 las = 2用於相對於軸旋轉標簽,而cex.axis = 0.6用於減小標簽尺寸。

問題的第二部分由title()line參數處理。 首先請注意,當您設置mar參數時,您在“行”中設置邊距大小,因此第1面(底部)的邊距為15行。 title()line參數指定要繪制軸標簽的邊距線。

將其與修改后的示例放在一起,我們得到:

op <- par(mar= c(15,4,4,2) + 0.1)
bar <- barplot(58:1, xaxt="n", xlab="", ylab="Frequency", col=gray(5:0/5))
axis(1, labels = paste("Long Species Name", 1:58), at = bar,
     las = 2, cex.axis = 0.6)
title(xlab = "Species", line=11)
par(op)

產生:

使用示例代碼生成的條形圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM