[解決済み] 複数レイヤーの ggplot のためのカスタム凡例
2022-03-10 15:44:55
質問
2つの別々のデータフレームから取得したデータでggplotのカスタム凡例を取得しようとしています。再現可能な最小限の例については、以下を参照してください。
私が達成しようとしているのは、リボンの塗りつぶし、黒い線、赤い線を説明する凡例が必要です。
require(ggplot2)
x=seq(1,10,length=100)
data=data.frame(x,dnorm(x,mean=6.5,sd=1))
names(data)=c('x','new.data')
x.ribbon=seq(1,10,length=20)
ribbon=data.frame(x.ribbon,
dnorm(x.ribbon,mean=5,sd=1)+.01,
dnorm(x.ribbon,mean=5,sd=1)-.01,
dnorm(x.ribbon,mean=5,sd=1))
names(ribbon)=c('x.ribbon','max','min','avg')
ggplot()+geom_ribbon(data=ribbon,aes(ymin=min,ymax=max,x=x.ribbon),fill='lightgreen')+
geom_line(data=ribbon,aes(x=x.ribbon,y=avg),color='black')+
geom_line(data=data,aes(x=x,y=new.data),color='red')+
xlab('x')+ylab('density')
<イグ
解決方法は?
を設定する代わりに
colour
と
fill
というように、マッピングします。
ジオメトリの美学を使って
aes
を使用し、その後に
scale_xxx_manual
または
scale_xxx_identity
.
エグ
ggplot()+geom_ribbon(data=ribbon,aes(ymin=min,ymax=max,x=x.ribbon,fill='lightgreen'))+
geom_line(data=ribbon,aes(x=x.ribbon,y=avg,color='black'))+
geom_line(data=data,aes(x=x,y=new.data,color='red'))+
xlab('x')+ylab('density') +
scale_fill_identity(name = 'the fill', guide = 'legend',labels = c('m1')) +
scale_colour_manual(name = 'the colour',
values =c('black'='black','red'='red'), labels = c('c2','c1'))
<イグ
を指定する必要があることに注意してください。
guide = 'legend'
を強制するために
scale_..._identity
で凡例が生成されます。
scale_...manual
の呼び出しの中で色を呼んだ名前である必要があります。
geom_...
というように、きれいにラベルを貼ることができます。
関連
-
[解決済み】添え字付き代入でNAを使用することはできません
-
[解決済み】rbind エラー。"名前が以前の名前と一致しない"
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】「'dimnames' [1]の長さが配列の範囲と等しくない」とはどういう意味ですか?
-
[解決済み】r Error dim(X) must have a positive length?
-
[解決済み】エラー - replacement has [x] rows, data has [y].
-
[解決済み】Rで、Error: ggplot2 doesn't know how to handle of data of class numericに対処する。
-
[解決済み】各グループの上位3要素を計算する際に「数値型、論理型、複合型でのみ可能な演算」を回避する方法
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] ggplotで凡例のタイトルを変更する方法
最新
-
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: 複数行の ggplot2 コマンドで「単項演算子エラー」が発生する。
-
[解決済み】ベースグラフィックスでプロットエリアの外側に凡例をプロットする?
-
[解決済み] テスト
-
[解決済み】「次のオブジェクトは 'package:xxx' からマスクされています」とはどういう意味ですか?
-
[解決済み】GLM解析での警告
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み] lmer エラー: グループ化係数は観測数未満でなければならない
-
[解決済み】 file(filename, "r", encoding = encoding) : cannot open the connectionでエラーが発生する。
-
[解決済み】ロジスティック回帰 - eval(family$initialize) : y 値は 0 <= y <= 1 である必要があります。
-
[解決済み】二項演算子への非数値引数【非公開