[解決済み] ggplot2 の余分な凡例を削除する
2022-10-29 21:41:38
質問
シンプルなデータフレームで
ggplot2
. 私のデータがこのようなものであると仮定します。
df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20),
group=c(rep("a",10),rep("b",10)))
そして、プロットを作ろうとしている。
g <- ggplot(df, aes(x=x, y=y, group=group))
g <- g + geom_line(aes(colour=group))
g <- g + geom_point(aes(colour=group, alpha = .8))
g
この結果は、1つの例外を除いて問題なく表示されます。これは
alpha
に対して、私の
geom_point
レイヤーを作成します。
グループカラーを表示する凡例はそのままで、アルファ設定を表示する凡例はどうすればいいのでしょうか。
どのように解決するのですか?
美学は
セット
または
マップされた
の中で
ggplot
の呼び出しの中でマッピングされます。
-
の中で定義された美学は
aes(...)
は マップされた され、凡例が作成されます。 -
美的感覚はまた
を設定します。
の外側で定義することにより、単一の値に設定することもできます。
aes()
.
この場合、あなたは以下のことを望んでいるようです。
を設定します。
alpha = 0.8
そして
地図
colour = group
.
これを行うには
を配置します。
alpha = 0.8
の外側に
aes()
の定義の外側にあります。
g <- ggplot(df, aes(x = x, y = y, group = group))
g <- g + geom_line(aes(colour = group))
g <- g + geom_point(aes(colour = group), alpha = 0.8)
g
<イグ
任意の
マップされた
変数を使用することで、凡例の表示を抑制することができます。
guide = 'none'
を適切な
scale_...
を呼び出します。
g2 <- ggplot(df, aes(x = x, y = y, group = group)) +
geom_line(aes(colour = group)) +
geom_point(aes(colour = group, alpha = 0.8))
g2 + scale_alpha(guide = 'none')
これは同一のプロットを返します。
編集 Joranのコメントが的確なので、私の回答をより包括的にしました。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
R: エラー: $ 演算子は原子ベクトルに対して無効です。
-
[解決済み] 文字列ベクトルを代入して、列名を持つ空のデータフレームを作成する?重複
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] Rで2つのグラフを同じプロットで表示する
-
[解決済み] 空のdata.frameを作成する
-
[解決済み] なぜ `[`] は `subset` よりも優れているのですか?
-
[解決済み] データフレーム内の列を名前でドロップする方法
-
[解決済み】私のggplot2構文が賢明であるときに、R CMDチェック「no visible binding for global variable」注記を処理するにはどうすればよいですか?
-
[解決済み] 2つの単語の最初の文字を大文字にします。