我想顯示兩個圖,一個直方圖和一個散點圖,我希望它們相對於x軸對齊。我用hist()創建了我的直方圖,用ggplot2創建了我的散點圖。但是,我發現創建混合這兩者的多槽的問題,所以我決定使用ggplot2創建直方圖。請找到下面的代碼:對齊直方圖和散點圖在R
loadedimage <- readTIFF("my_data05.tiff")
rasterizedimage <- rasterGrob(loadedimage, interpolate = TRUE)
realmadrid_colors <-c("#00529f", "#8cc1f3", "blue")
data_test <- subset(full_data, Rival == "Barcelona")
data_kroos <- subset(data_test, Jugador == "Kroos")
myscatter <- ggplot(data_kroos, aes(x = x1, y = y1)) +
annotation_custom(rasterizedimage, xmin = 0, xmax = 713, ymin = 0 , ymax = 497) +
geom_point(aes(fill = factor(data_kroos$Resultado)),
shape = 21,
size = 5) +
scale_fill_manual(values=realmadrid_colors) +
guides(fill=guide_legend(title=NULL)) +
coord_fixed() +
theme_bw() +
theme_no_axes(base.theme = theme_bw()) +
theme(legend.position = c(0.5, 0.04),
legend.box = "horizontal",
legend.direction = "horizontal",
legend.box.background = element_rect(fill = NA, colour = "transparent"),
legend.text = element_text(family = "Courier", size = 14),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
plot.margin=unit(c(-0.05,-0.05,-0.05,-0.1),"in")
)
myhistogram <- qplot(data_barca[data_barca$Sección == "Passes_All",]$x1, breaks=seq(0, 660, by = 66), alpha = 0.5, geom = "histogram")
如果我嘗試使用grid.newpage()和grid.draw(),我得到一個錯誤信息:NcoI位(X)== NcoI位(Y)是不正確的
grid.newpage()
grid.draw(rbind(ggplotGrob(myscatter), ggplotGrob(myhistogram), size = "first"))
我想要得到的東西像http://biokit.readthedocs.io/en/latest/auto_examples/plot_scatter.html (事實上我仍然在第一步中,我的目標是完全一樣在前鏈接),或類似的東西combine histogram with scatter plot in R,但在這種情況下,它不使用ggplot2,我不確定我是否可以像使用該軟件包一樣玩耍。
歡迎任何幫助!如果您需要我上傳任何文件,請告訴我。
在此先感謝!
你會發現在溶液[計算器:GGPLOT2 - 多圖縮放(https://stackoverflow.com/questions/42220917/ggplot2-multiple-plots-scaling) –
謝謝!最後,答案是使用ggExtra :: ggMarginal。這正是我所期待的! – futbolscientist