我想显示两个图,一个直方图和一个散点图,我希望它们相对于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