[英]How to have a single grid background in "cowplot" using plot_grid() combining two plots together? in R language
In R language I want to have a single background horizontal lines (background grid) to make it easier to identify the columns.在 R 语言中,我希望有一个单一的背景水平线(背景网格),以便更容易识别列。 I will provide an example in the R code.
我将在 R 代码中提供一个示例。
# install.packages("cowplot")
library(ggplot2)
library(cowplot)
df <- data.frame(
supp = rep(c("VC", "OJ"), each = 3),
dose = rep(c("D0.5", "D1", "D2"), 2),
len = c(6.8, 15, 33, 4.2, 10, 29.5)
)
p <- ggplot(df, aes(x = dose, y = len))+
geom_col(aes(fill = supp), width = 0.7)+ coord_flip()+
theme(axis.text.x=element_blank(),axis.ticks.x=element_blank(),
axis.text.y=element_blank(),axis.ticks.y=element_blank()) +
labs(x = "", y = "") +
theme( legend.position = "bottom",
panel.background = element_rect(fill = "transparent"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.background = element_rect(fill = "transparent", color = NA))
p
plot_grid(p, p, align = 'h', ncol = 2, rel_widths = c(5, 5))
I want to make a (background grid) in the form of grey horizontal lines that separates each column likee in the screenshot that will provided我想以灰色水平线的形式制作一个(背景网格),将提供的屏幕截图中的每一列分开
I want the background pass by the two plots in the plot_grid with no separation.
我希望 plot_grid 中的两个图的背景没有分离。 Because my original plots will be like that but more advance providing the columns names in the first plot only and these lines helps to know what column is that in the second column by looking at the first plot names.
因为我的原始图将是这样的,但更先进的是仅在前 plot 中提供列名称,这些行有助于通过查看前 plot 名称来了解第二列中的列。 Thanks
谢谢
One option would be to remove the space between your plots by setting the right/left plot.margin
to zero, setting the axis.ticks.length
to zero and by setting the y axis title to NULL
.一种选择是通过将右/左
plot.margin
设置为零,将axis.ticks.length
设置为零并将 y 轴标题设置为NULL
来删除绘图之间的空间。 Finally I use geom_hline
to add the "grid" lines.最后我使用
geom_hline
添加“网格”线。
Note: I switched the role of x
and y
to get rid of coord_flip
.注意:我交换了
x
和y
的角色以摆脱coord_flip
。 Makes it easier (for my brain (;) to do the adjustments.使我的大脑 (;) 更容易进行调整。
# install.packages("cowplot")
library(ggplot2)
library(cowplot)
df <- data.frame(
supp = rep(c("VC", "OJ"), each = 3),
dose = rep(c("D0.5", "D1", "D2"), 2),
len = c(6.8, 15, 33, 4.2, 10, 29.5)
)
p <- ggplot(df, aes(y = dose, x = len)) +
geom_col(aes(fill = supp), width = 0.7) +
geom_hline(yintercept = 0:3 + .5) +
labs(x = "", y = NULL) +
theme(
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.ticks.length = unit(0, "pt"),
legend.position = "bottom",
panel.background = element_rect(fill = "transparent"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.background = element_rect(fill = "transparent", color = NA)
)
plot_grid(
p + theme(plot.margin = margin(5.5, 0, 5.5, 5.5)),
p + theme(plot.margin = margin(5.5, 5.5, 5.5, 0)),
align = "h", ncol = 2, rel_widths = c(5, 5)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.