簡體   English   中英

如何在 ggplot2 中重新排序 y 軸標簽

[英]How to Reorder y Axis Labels in ggplot2

我創建了下圖,但我希望 y 軸上的標簽按邏輯順序顯示:“小於 20,000 美元”、“20,000 美元到 34,999 美元”、“35,000 美元到 49,999 美元”、“50,000 美元到 74,999 美元”、“75,000 美元到 99,999 美元” , “超過 100,000 美元”,而不是它在圖表上的排序方式。 我使用以下代碼創建圖表:

ggplot(dat2) +
    aes(x = trust, y = income, shape = own, color = own) +
    geom_jitter() +
  scale_color_discrete(name= "Home Ownership",
                       labels=c('Other', 'I Own My Home')) +
  scale_shape_discrete(name = "Home Ownership",
                       breaks=c("0", "1"), labels=c('Other', 'I Own My Home'))

如何重新排列 y 軸上的標簽?

我試圖重新排序因子,但只返回了所有數據。

dat2$income <- factor(x = dat2$income, levels = c("Less than $20,000", "$20,000 to $34,999", "$35,000 to $49,999", "$50,000 to $74,999", "$75,000 to $99,999", "Over [enter image description here][1]$100,000"))

我還scale_y_discrete(limits = c("Less than $20,000", "$20,000 to $34,999", "$35,000 to $49,999", "$50,000 to $74,999", "$75,000 to $99,999", "Over $100,000"))在ggplot function 但返回了一個空白圖和錯誤消息:“警告消息:1:在 min(x):沒有非缺失 arguments 到最小值;返回 Inf 2:在 max(x):沒有非缺失 ZDBC11CAA5BDA888E7DZDZE76FB44DABDA999 ; 返回 -Inf 3: 刪除了 498 行包含缺失值 (geom_point)。 4: Position 導軌垂直於預期軸。您的意思是指定不同的導軌position嗎?

您可以在繪圖之前重新排序因子:

dat2$income <- factor(x = dat2$income, 
                      levels = c("Less than $20,000", "$20,000 to $34,999", 
                                 "$35,000 to $49,999", "$50,000 to $74,999", 
                                 "$75,000 to $99,999", "Over $100,000"))

ggplot(dat2) +
    aes(x = trust, y = income, shape = own, color = own) +
    ... +

暫無
暫無

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

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