Rパッケージ:cowplot/ggplot2Cowplot:マージンプロットに目盛りと対応するデータラベルを追加するにはどうすればよいですか?
使用事例:マージナルヒストグラムと散布図。
問題:ヒストグラムの場合、x軸にビンサイズを追加したり、下位/上位の参照を のクラス間隔で参照することはできません。これらのヒストグラムがなければ、読むのは難しいです。
cowplotでは、必要に応じて目盛りと対応するデータを(x軸の)ラベルに余白を追加する方法はありますか?例えば。マージナルプロットで ヒストグラムのため
cowplot
require(ggplot2)
require(cowplot)
メインプロットを使用して基本的な散布+限界ヒストグラムプロット:
pmain <- ggplot(data = mpg, aes(x = cty, y = hwy)) +
geom_point() +
xlab("City driving") +
ylab("Highway driving") +
theme_grey()
限界プロット:
xbox <- axis_canvas(pmain, axis = "x") +
geom_histogram(
data = mpg,
aes(x = cty),
colour = "black"
)
組み合わせプロット:
p1 <- insert_xaxis_grob(pmain, xbox, grid::unit(0.5, "in"), position = "top")
ggdraw(p1)
しかし、私はx軸マージナルプロットとして表示されるように、次のプロットxbox2
をしたいと思います:
xbox2.1 <- ggplot() +
geom_histogram(
data = mpg,
aes(x = cty),
colour = "black"
)
hist_tab <- ggplot_build(xbox2.1)$data[[1]]
xbox2 <- xbox2.1 +
scale_x_continuous(
breaks = c(round(hist_tab$xmin,1),
round(hist_tab$xmax[length(hist_tab$xmax)],1))
) +
labs(x = NULL, y = NULL) +
theme(
axis.text.x = element_text(angle = 90, size=7,vjust=0.5),
axis.line = element_blank(),
axis.text.y=element_blank(),
axis.ticks.y=element_blank()
)
xbox2
しかし、私は作成することはできません。散布+限界ヒストグラム(xbox2)。私は最初のものと同じプロットを得る:
p2 <- insert_xaxis_grob(pmain, xbox2, grid::unit(0.5, "in"), position = "top")
ggdraw(p2)
私はこの質問を再開して投票。 OPはこれを編集しましたが、今は最小で完全で検証可能な例が含まれています。 –