2016-12-03 15 views
0

ここでは、2次元数値配列datasetと数値の1次元配列clustringがあります。ggplot2凡例を削除すると、プロットからデータ全体が削除されます

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

美しい画像が表示されます:それから私は、次のコードでそれをプロット

# 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") 

plot

は、今私は、私は可能な解決策を見つけたのでhere、完全に凡例を削除したいですそのようなコマンドのどれも役に立たない。 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

show.legend = FALSEgeom_point内に使用してください。 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

関連する問題