2016-03-03 40 views
2

我嘗試通過設置show.legend = FALSE來放下圖例。它的工作原理是在預期的時間fill變量是離散使用show.legend = FALSE放置圖例不適用於持續的美學效果

library(ggplot2) 
ggplot(mtcars, aes(x = mpg, y = wt, fill = factor(mpg))) + 
    geom_bar(stat = "identity", show.legend = FALSE) 

enter image description here 然而,當fill被映射到連續變量,show.legend = FALSE不下降的傳說:

ggplot(mtcars, aes(x = mpg, y = wt, fill = mpg)) + 
    geom_bar(stat = "identity", show.legend = FALSE) 

enter image description here

爲什麼不是show.legend = FALSE省略了連續縮放的圖例?我該如何解決這個問題?

我有ggplot2 v.2.0.0(作者:哈德利威克姆)

參考:http://docs.ggplot2.org/current/geom_bar.html

+0

沒有人認爲這是一個錯誤? – PatrickT

+1

'show.legend'雖然適用於離散的規模, 'ggplot(mtcars,aes(mpg,wt,fill = factor(mpg)))+ geom_bar(stat =「identity」,show.legend = FALSE)'。它不適用於連續的規模看起來像一個錯誤(或無證的功能...)。在最近發佈的'ggplot2_2.1.0'中也是如此。 – Henrik

+1

我發佈了[問題](https://github.com/hadley/ggplot2/issues/1568)。 – Henrik

回答

2

對於示例情況下,你可以使用theme()

ggplot(mtcars, aes(mpg, wt, fill = mpg)) + 
    geom_bar(stat = "identity") + 
    theme(legend.position = 'none') 
+0

謝謝。有趣的是:如果在主題(legend.position ='none')''之後加上''+ theme_bw()'',圖例會重新出現。 (我知道'legend.position'',但沒有在我的MWE上測試過它,並且在我的代碼末尾重新引入了圖例,我係統地使用了''theme_bw()''。編輯:我應該知道更好。 – PatrickT

+2

這是因爲添加'theme_bw()'_afterwards_會取消您在'theme()'中應用的設置。接下來加'+ theme_bw()'和'+主題(legend.position ='none')'',你應該很好 – arvi1000

相關問題