gpt4 book ai didi

r - cowplot:如何通过修改轴限制来自定义主面板和边缘图之间的间隙?

转载 作者:行者123 更新时间:2023-12-04 11:50:29 25 4
gpt4 key购买 nike

这是关于@ClausWilke ( see post ) 提供的解决方案之一的后续问题,用于在主面板和边际图之间插入间隙。如何决定 (scale_x_continuous) 限制?另外,如果我们使用“NA”作为上限会怎样?

# Example with limits set to: (-2,4.5)
require(ggplot2)
require(cowplot)

pmain <- ggplot(data = mpg, aes(x = cty, y = hwy)) +
geom_point() +
xlab("City driving (miles/gallon)") +
ylab("Highway driving (miles/gallon)") +
theme_grey()

xbox2 <- axis_canvas(pmain, axis = "x", coord_flip = TRUE) +
geom_boxplot(data = mpg, aes(y = cty, x = 1)) +
scale_x_continuous(limits = c(-2, 4.5)) + coord_flip()

ybox2 <- axis_canvas(pmain, axis = "y") +
geom_boxplot(data = mpg, aes(y = hwy, x = 1)) +
scale_x_continuous(limits = c(-2, 4.5))

p1 <- insert_xaxis_grob(pmain, xbox2, grid::unit(0.8, "in"), position = "top")
p2 <- insert_yaxis_grob(p1, ybox2, grid::unit(0.8, "in"), position = "right")

ggdraw(p2)

最佳答案

有了连续的 x 轴刻度,您可以使用 expand_limits 在主图和边缘图之间添加一些空白空间。

例如,您的 ybox2 是一个具有连续 x 轴刻度的单箱线图。默认情况下,该图的 x 范围大约为 0.6 到 1.4(您可以通过运行 ggplot(mpg, aes(y=hwy, x=1)) + geom_boxplot() 来查看)。以下代码将 x 轴下限设置为 0.2,这意味着大约 0.4/(0.8+0.4) = 33% 的 x 轴范围将是主图和边际图之间的边距。我们为 xbox2 做同样的事情。

ybox2 <- axis_canvas(pmain, axis = "y") + 
geom_boxplot(data = mpg, aes(y = hwy, x = 1)) +
expand_limits(x = 0.2)

xbox2 <- axis_canvas(pmain, axis = "x", coord_flip = TRUE) +
geom_boxplot(data = mpg, aes(y = cty, x = 1)) +
coord_flip() +
expand_limits(x = 0.2)

p1 <- insert_xaxis_grob(pmain, xbox2, grid::unit(0.4, "in"), position = "top")
p2 <- insert_yaxis_grob(p1, ybox2, grid::unit(0.4, "in"), position = "right")

ggdraw(p2)

enter image description here

关于r - cowplot:如何通过修改轴限制来自定义主面板和边缘图之间的间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47546013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com