如何在ggplot中调整facet的大小

时间:2018-05-21 21:44:22

标签: r ggplot2

我正在绘制一些数据并使用facet_grid

data <- read.csv(text='"type1","type2","time"
"A","T1",1182.17
"A","T2",1116.89
"A","T3",1088.66
"B","T1",1095.51
"B","T2",1106.09
"B","T3",1132.95
"C","T1",1094.11
"C","T2",1145.15
"C","T3",1159.14
')

library(ggplot2)
theme_set(theme_bw())

ggplot(data, aes(type2, time)) +
    geom_point() +
    scale_x_discrete(
        expand=c(0,5)
    ) +
    coord_flip() +
    facet_grid(type1 ~ .)

这给了我这个漂亮的情节

我想降低单行的高度,所以我尝试添加

scale_x_discrete(
    expand=c(0,5)
) +

哪个给了我

如何调整构面行的大小?我为scale尝试了spacefacet_grid个参数,但这没有效果。我还尝试了heights的{​​{1}} / widths,但它们似乎已被移除。

我想尝试这样的事情

1 个答案:

答案 0 :(得分:0)

R GUI(无论您是否使用基本GUI,rstudio等)通常以适合打开的绘图窗口的任何宽高比显示绘图。无论图表如何在屏幕上显示,您都可以使用ggsave()以您喜欢的尺寸保存图表,而ggplot会缩放图表以使该宽高比看起来很好(大多数情况下,有时你做必须编辑文字大小和边距)。

要以所需尺寸保存绘图,首先将其设为命名对象:

plot.name <- ggplot(data, aes(type2, time)) +
    geom_point() +
    scale_x_discrete(expand=c(0,5)) +
    coord_flip() +
    facet_grid(type1 ~ .)

然后以长宽和短高度保存它:

ggsave(plot.name, #your ggplot
       "./example_plot.jpg", #filepath and name of file to save
        dpi = 300, 
        width = 6, #long width
        height = 3) #short height