プロットに影響を与えずに ggplot2 の凡例外観を制御する
2023-09-29 18:24:01
質問
ggplot2でこんな感じで線を引いています。
ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + theme_bw()
<イグ .
凡例マークが小さいので、もっと大きくしたいです。大きさを変えるとプロット上の線も変わってしまいます。
ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line(size=4) + theme_bw()
<イグ .
しかし、私は凡例の中でだけ太い線を見たいのであって、プロット上の線は細くして欲しいのです。私は
legend.key.size
を使ってみましたが、線の幅ではなく、マークの四角を変えてしまいます。
library(grid) # for unit
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw() + theme(legend.key.size=unit(1,"cm"))
<イグ
ポイントも使ってみました。
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + geom_point(size=4) + theme_bw()
しかし、もちろん、それはまだプロットと凡例の両方に影響します。
プロットには線を、凡例には点/点を使いたいと思いました。
ということで、2つのことをお聞きしています。
- プロットを変更せずに凡例の線の幅を変更する方法は?
- プロットでは線を描き、凡例では点/点/四角の線を描くには?
どのように解決するのですか?
凡例のみ線幅を変更するには、関数
guides()
を使用し、次に
colour=
を使う
guide_legend()
と
override.aes=
と設定し
size=
. これはプロットで使用されるサイズを上書きし、凡例にだけ新しいサイズの値を使用することになります。
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw()+
guides(colour = guide_legend(override.aes = list(size=3)))
<イグ
凡例に点を、プロットに線を表示するための回避策は、以下のようになります。
geom_point(size=0)
を追加して、点が見えないようにし、さらに
guides()
を設定します。
linetype=0
で行を削除し
size=3
で大きな点が取れる。
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw()+
geom_point(size=0)+
guides(colour = guide_legend(override.aes = list(size=3,linetype=0)))
<イグ
関連
-
二項演算子への非数値引数を報告するR言語エラー
-
R言語です。「接続を開くことができません」解決策
-
8.2 カマグラ(No.31〜No.40)
-
R: hclust(d, method = method)でのエラー : 外部関数呼び出しは NA/NaN/Inf(arg10) を持つことができません。
-
[解決済み] Rで複数行のコメントを持つことは可能ですか?[重複している]。
-
[解決済み] Matplotlib で凡例をプロットの外側に配置する方法
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] コマンドラインからRスクリプトを実行する
-
[解決済み] 不足しているパッケージをチェックし、インストールするためのエレガントな方法?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
RStudio の "plot.new() : figure margins too large" 問題を解決する。
-
R言語エラー:図の余白が大きすぎる 解決方法
-
R read.table Error:埋め込まれたヌルが含まれているようです。
-
[解決済み] 特定のサイズのプロットウィンドウを作成する
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] 統計的最頻値の求め方は?
-
[解決済み] なぜ `[`] は `subset` よりも優れているのですか?
-
[解決済み】R関数でオプション引数を指定する "正しい "方法
-
[解決済み] ggplot2: 凡例でシンボルの大きさを調整する