我有一個數據框,顯示每年的四個類,以及他們各自在當年的總數。ggplot2:使用geom_area()函數
> head(df)
class year share
1 class1 1975 0.806
2 class2 1975 0.131
3 class3 1975 0.018
4 class4 1975 0.045
5 class1 1976 0.788
6 class2 1976 0.151
當我運行ggplot
沒有指定fill
,我得到一個統一的灰色框,符合市場預期。因此我嘗試添加fill=class
,但它不起作用。
> ggplot(df, aes(x=year, y=share, group=class, fill=class)) + geom_area() + scale_fill_brewer()
Error in inherits(x, "factor") : object "base_size" not found
In addition: Warning message:
In inherits(x, "factor") : restarting interrupted promise evaluation
>
什麼我可以做的class
因素得到它正確地scale_fill_brewer()
工作?顯然,這個想法是根據其類來遮蔽圖的每個區域。
謝謝。
使用上面向我們顯示的數據樣本,我不會收到這樣的錯誤消息,並且所有事情都按預期工作。也許你可以嘗試關閉並重新打開R會話,看看這是否有幫助。 – learnr 2009-11-11 17:21:41
你可以把一個可運行的例子放在一起嗎?我懷疑使用像「class」這樣的保留字作爲列的名稱。也許就是這樣? – 2009-11-11 17:44:14
我實際上改變了列名來消毒數據,所以問題出現在「class」字段名稱前後,但我會創建一個新的data.frame併發佈一個可運行的示例。 – 2009-11-11 17:48:30