我使用條形圖來顯示停車收費分配在一個城市。我的數據框包括停車計時器ID,該計費器的年收入以及該計費器根據總收入計入的十分位數(1-10)。所以我的命令看起來像這樣:試圖標籤條形圖ggplot2,得到「錯誤:美學必須是長度一,或相同的長度...」
> rev <- ggplot(parking, aes(x=decile, y=revenue))
> rev + geom_bar(stat="identity")
而結果正是我想要的,但我想補充的總收入各等分上面圖中的每一個欄,我不知道如何。我嘗試這樣做:
> aggrev <- aggregate(revenue~decile, data=parking, sum)
> totals <- aggrev$revenue
> rev + geom_bar(stat="identity") + geom_text(aes(label=totals))
但我收到此錯誤信息: 錯誤:美學必須是一個長度或相同長度的 dataProblems:總數。
我檢查了長度(十分位數)和長度(總計),它們的值分別是4600和10。所以我明白爲什麼會發生這種情況,但爲什麼我不能在10個酒吧中添加任何10個字符?或者讓圖表自動顯示小節總數,也許使用「身份」?我決定只要運行這個:
ggplot(aggrev, aes(x=decile,y=revenue))+geom_bar()+geom_text(aes(label=revenue))
其工作原理,但我寧願沒有我想有標籤,每次做一個新的數據幀。
你需要告訴ggplot要將標籤...怎麼會知道你希望他們在每欄的頂部...看看[這裏](HTTP:/ /stackoverflow.com/questions/6455088/how-to-put-labels-over-geom-bar-in-r-with-ggplot2) – Justin
爲新圖層創建新數據框或創建全新變量是您簽名的內容當你開始使用ggplot時。它沒有被稱爲「圖形語法」。如果你的嘗試在語法上不正確,那麼...... – joran