我想在 ggplot 條形圖(或任何類似型別的圖)的每個 y 軸標簽中寫入多條資訊。問題是讓一切都很好地對齊。
最好用我想要的例子來解釋:

我的主要問題是圖左側的格式。
到目前為止,我嘗試過的包括使用等寬字體來撰寫標簽。這基本上有效,但我想嘗試避免使用等寬字體用于美學目的。
我還嘗試制作了幾個 ggplots,其中的想法是洗掉兩個初始圖中的所有內容,除了 y 軸標簽(因此這些“圖”只會是 y 軸標簽)。然后使用 對齊彼此相鄰的圖grid.align。我在這里遇到的問題是似乎沒有辦法洗掉 ggplot 的繪圖部分(或者有嗎?)。它還需要一些調整,因為在“空”圖中洗掉 x 軸標簽會導致標簽向下移動(因為 x 軸標簽/標題不再占用空間)。
我還嘗試了一種使用引數geom_text設定適當距離的方法hjust。但是,出于某種原因,不同尺寸標簽的間距似乎并不相等(例如,對于相同的 hjust,“Red”和“Turquoise”標簽的距離不同)。由于真實資料在標簽大小方面有更多變化,這種變化使表格看起來非常混亂......
我不太關心標題,因為它們很容易手動添加到圖中。右邊的值也不是什么大問題,因為它們有固定的寬度,我可以geom_text用來設定它們。所以我的主要問題是 y 軸(左)標簽。
這是一個示例資料集:
dt = data.frame(shirt = c('Red','Turquoise','Red','Turquoise','Red','Turquoise','Red','Turquoise'),
group = c('Group alpha','Group alpha','Group beta','Group beta','Group delta','Group delta','Group gamma','Group gamma'),
n = c(22,21,15,18,33,34,20,19),
mean = c(1, 4, 9, 2, 4, 5 , 1, 2),
p = c(0.1, 0.09, 0.2, 0.03, 0.05, 0.99, 0.81, 0.75))
uj5u.com熱心網友回復:
我最接近的是使用
基本上完成的是plot.margin在初始圖中設定圖形的邊距。然后執行一些計算以確定每列資訊的正確位置。隨后,我們遍歷資料集并使用 設定每列中的值annotation_custom()。最后,我們可以以類似的方式添加標題。
注意:如果您調整繪圖視窗的大小(例如在 RStudio 中),您需要重新運行代碼,否則布局會混亂。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/358863.html
