[解決済み] ggplot2 でマージナルヒストグラムを用いた散布図
2022-04-27 03:31:13
質問
以下のサンプルのように、マージナルヒストグラムで散布図を作成する方法はありますか?
ggplot2
? Matlabでは
scatterhist()
という関数があり、Rでも同等のものが存在します。しかし、ggplot2用のものは見たことがありません。
単体グラフの作成から試行錯誤を始めたが、うまく並べる方法がわからない。
require(ggplot2)
x<-rnorm(300)
y<-rt(300,df=2)
xy<-data.frame(x,y)
xhist <- qplot(x, geom="histogram") + scale_x_continuous(limits=c(min(x),max(x))) + opts(axis.text.x = theme_blank(), axis.title.x=theme_blank(), axis.ticks = theme_blank(), aspect.ratio = 5/16, axis.text.y = theme_blank(), axis.title.y=theme_blank(), background.colour="white")
yhist <- qplot(y, geom="histogram") + coord_flip() + opts(background.fill = "white", background.color ="black")
yhist <- yhist + scale_x_continuous(limits=c(min(x),max(x))) + opts(axis.text.x = theme_blank(), axis.title.x=theme_blank(), axis.ticks = theme_blank(), aspect.ratio = 16/5, axis.text.y = theme_blank(), axis.title.y=theme_blank() )
scatter <- qplot(x,y, data=xy) + scale_x_continuous(limits=c(min(x),max(x))) + scale_y_continuous(limits=c(min(y),max(y)))
none <- qplot(x,y, data=xy) + geom_blank()
を投稿し、関数で並べる ここで . しかし、長い話をすると、これらのグラフを作成する方法はあるのでしょうか?
どのように解決するのですか?
その
gridExtra
パッケージが動作するはずです。まず、各 ggplot オブジェクトを作成します。
hist_top <- ggplot()+geom_histogram(aes(rnorm(100)))
empty <- ggplot()+geom_point(aes(1,1), colour="white")+
theme(axis.ticks=element_blank(),
panel.background=element_blank(),
axis.text.x=element_blank(), axis.text.y=element_blank(),
axis.title.x=element_blank(), axis.title.y=element_blank())
scatter <- ggplot()+geom_point(aes(rnorm(100), rnorm(100)))
hist_right <- ggplot()+geom_histogram(aes(rnorm(100)))+coord_flip()
次にgrid.arrange関数を使用します。
grid.arrange(hist_top, empty, scatter, hist_right, ncol=2, nrow=2, widths=c(4, 1), heights=c(1, 4))
<イグ
関連
-
R言語です。「接続を開くことができません」解決策
-
[解決済み] ggplot2 の軸ラベルを回転させ、間隔を空ける
-
[解決済み] ggplot2 Rプロットで軸の制限を設定するには?
-
[解決済み] ggplot2 の棒グラフで棒を並べる
-
[解決済み】ggplot2によるサイド・バイ・サイド・プロット
-
[解決済み】ggplot2でプロットタイトルを中央に配置する
-
[解決済み】matplotlibで2つのヒストグラムを1つのグラフにプロットする
-
[解決済み】Rで2つのヒストグラムを一緒にプロットする方法は?
-
[解決済み] Rでggplot2を使ってヒストグラムを重ね合わせる
-
[解決済み] 点数が多すぎる散布図
最新
-
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: エラー: $ 演算子は原子ベクトルに対して無効です。
-
R - ユークリッド距離の計算を簡単にする方法
-
R言語ダウンロード機能 download.fileとダウンロード解析
-
Rのexpand.grid()コマンド
-
[解決済み] HTML、PDF、DOCXで見栄えのするシンプルな手動のRMarkdownテーブル
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] 不足しているパッケージをチェックし、インストールするためのエレガントな方法?
-
[解決済み】私のggplot2構文が賢明であるときに、R CMDチェック「no visible binding for global variable」注記を処理するにはどうすればよいですか?