gpt4 book ai didi

r - 调整通过ggplot()和facet_grid绘制的面板的大小

转载 作者:行者123 更新时间:2023-12-03 08:45:35 35 4
gpt4 key购买 nike

我有一个数据框来绘制具有相同 x 轴和不同 y 轴的多个面板。列数可能会有所不同。我使用 ggplot 和facet_grid 来绘制这些面板。

问题在于,整个图的大小似乎是相同的,因此当出现更多面板时,每个面板的尺寸都非常小。

有什么方法可以固定每个面板的尺寸,并且图形的整体尺寸会根据列和面板的数量而变化吗?谢谢。

最佳答案

我很抱歉无意中 self 推销,但我不久前编写了一个函数来更精确地控制面板的大小。我已将其放在 github CRAN 上的一个包中。我不确定它如何与 Shiny 的应用程序一起使用,但这是您在 ggplot2 中如何使用它。

您可以通过设置行/列的普通数字来控制宽度/高度的相对大小。

library(ggplot2)
library(ggh4x)

df <- expand.grid(1:12, 3:5)
df$x <- 1

ggplot(df, aes(x, x)) +
geom_point() +
facet_grid(Var1 ~ Var2) +
force_panelsizes(rows = 1, cols = 2, TRUE)

您还可以通过设置 unit 对象来控制面板的绝对大小。请注意,如果您提前知道面板的数量,您也可以为单独的行和列设置它们。

ggplot(df, aes(x, x)) +
geom_point() +
facet_grid(Var1 ~ Var2) +
force_panelsizes(rows = unit(runif(12) + 0.1, "cm"),
cols = unit(c(1, 5, 2), "cm"),
TRUE)

reprex package于2020年5月5日创建(v0.3.0)

希望有所帮助。

关于r - 调整通过ggplot()和facet_grid绘制的面板的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61601428/

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