作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用包 patchwork
来垂直组合多个 ggplot2
绘图。无论比例名称的长度如何,我都希望每个地 block 的比例直接在另一个上方。目前,这些比例没有相互对齐。
我愿意使用 ggpubr
或 facet_grid()
如果它们可以做到的话,但我已经看到了这些方面 doesn't allow multiple scales ,我还没有找到任何使用 ggpubr
library(ggplot2)
library(patchwork)
set.seed(0)
testdata <- data.frame(x=1:10, y=1:10, col=runif(10))
g1 <- ggplot(testdata, aes(x=x,y=y,col=col)) + geom_point() +
scale_color_gradient(name="Short")
g2 <- ggplot(testdata, aes(x=x,y=y,col=col)) + geom_point() +
scale_color_gradient(name="A rather longer name")
g1/g2
ggsave("testfile.tiff", units = "mm", device="tiff",
width=100, height=100, dpi = 100)
理想输出:
最佳答案
使用 plot_layout
您可以“收集”图例。这用作默认的 theme(legend.position = 'right')
。您可以使用 & theme(legend.position = 'right')
在 plot_layout 之后添加它,如果要更改图例的位置,请调整位置。
g1/g2 + plot_layout(guides = 'collect') # & theme(legend.position = 'right') <- adjust position here!
ggsave("testfile.tiff", units = "mm", device="tiff",
width=100, height=100, dpi = 100)
关于r - 拼凑中色标的水平对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66174318/
我是一名优秀的程序员,十分优秀!