2016-12-03 150 views
0

這裏我有2 dim數字陣列dataset和數字1 dim陣列的標籤clustring刪除ggplot2圖例從圖中刪除整個數據

s = data.frame(x = dataset[,1], y = dataset[,2]) 
    p = ggplot(s, aes(x, y)) 
    p + geom_point(aes(colour = factor(clustering))) 

,顯示美麗的圖畫::然後我用下面的代碼繪製它plot

現在我想徹底刪除的傳說,所以here我發現可能的解決方案:

# Remove legend for a particular aesthetic (fill) 
p + guides(fill=FALSE) 

# It can also be done when specifying the scale 
p + scale_fill_discrete(guide=FALSE) 

# This removes all legends 
p + theme(legend.position="none") 

但沒有一個這樣的命令不會幫助。它顯示空的情節,而不是:empty plot

那麼如何從我的情節中刪除圖例?

回答

2

試試這個:

library(ggplot2) 

s = data.frame(x = rnorm(20), y = rnorm(20), clustering = rep(c(1, 2), 10)) 

p <- ggplot(s, aes(x, y))+ 
    guides(fill=FALSE)+ 
    geom_point(aes(colour = factor(clustering)))+ 
    scale_fill_discrete(guide=FALSE)+ 
    theme(legend.position="none") 
p 

在代碼中,你是不是再次每次添加的東西給它時間後節省的情節。您可以通過更改添加到圖的線來修復此問題:

# Remove legend for a particular aesthetic (fill) 
p = p + guides(fill=FALSE) 

但是我寫的方式是更常見的R格式。

+0

謝謝,它的工作原理。 – Aeteros

2

geom_point內使用show.legend = FALSE。這是一個使用ggplot2的鑽石數據集的例子。

s <- diamonds 
p <- ggplot(data = s, aes(x = depth, y = price)) 
p + geom_point(aes(colour = factor(cut)), show.legend = FALSE) 

plot with no legend

+0

它說:警告:忽略未知的美學:show.legend – Aeteros

2

就試試這個:

p + geom_point(aes(colour = factor(clustering)),show.legend=FALSE) 
+0

它說:警告:忽略未知的美學:show.legend – Aeteros

+0

是的,這是正確的。 Show.legend是一個geom_point參數。請檢查show.legend參數前的正確數目的右括號。 – jvb