@帕斯卡的評論鏈接到兩種可能的解決方案,但底線是你需要手動添加汽車名稱。
要知道這車名使用需要第一步:如果你看一下mtcars
,你會看到,他們不列標題下出現,這意味着他們的行名。爲了得到他們,簡單地說:
carnames <- rownames(fourcyl)[ order(fourcyl$mpg, decreasing=TRUE) ]
從這裏,你需要知道如何和哪裏向添加它們。也許第一次是因爲有很多人看是axis
,在那裏你會做這樣的事情:
axis(side=1, at=1:length(carnames), labels=carnames)
但你至少兩個賬戶失望:第一,你沒有看到所有的名字,因爲axis
有禮貌地通過省略一些來確保它們不重疊;其次,在相應的垂直條下,顯示的對象不能正確對齊。
要解決第一個問題,您可以嘗試旋轉文本。你可以使用las
(見help(par)
),並做一些事情,如:
axis(side=1, at=1:length(carnames), labels=carnames, las=2)
但同樣你會有點失望,因爲許多的名字將在默認下邊距運行(消失)。你可以用這個前面的par(mar=...)
來解決這個問題(再次看到那裏的幫助,並找到一些幫助找到正確的參數),但是有些解決方案提供了更好的方法(美學),其中兩個在@Pascal鏈接中提到真的,去那裏)。
另一個問題 - 哪裏把標籤 - 通過讀取help(barplot)
並注意到,從barplot(...)
返回值是提供給每個條的中點矩陣解決。也許是奇怪的,但它就是這樣(它有一個很好的理由,在某個地方)。因此,抓住這一點,你會近百家免費電話:
bp <- barplot(fourcyl$mpg[order(fourcyl$mpg, decreasing = TRUE)],
horiz=FALSE, ylab = "Miles per Gallon",
main = "Efficiency for 4 cylinder vehicles",
ylim = c(0,35))
現在,複製的鏈接的建議,請嘗試:
text(x=bp[,1], y=-1, adj=c(1, 1), carnames, cex=0.8, srt=45, xpd=TRUE)
(無需爲axis
命令,只是bp <- barplot(...)
,carnames <- ...
和text(...)
。)
我複製了他提供的代碼,但即使該boxplot在運行時也沒有任何x軸標籤... –