小编Chi*_*tou的帖子

ggplot2 中的固定图形大小

我在 R 中使用 ggplot2 包时遇到了一些问题。我有很多结构相似的数据,想绘制它。所以我认为我可以编写一个函数并在循环中使用它。问题是布局不同。在下面的示例中,df1 包含坐标(x 和 y)和值。

df1 <- data.frame(x_coord = c(1:100,1:100), y_coord = c(100:1, 1:100),
                  value = LETTERS[1:10])
Run Code Online (Sandbox Code Playgroud)

Df2 几乎相同,但值名称更长:

df2 <- data.frame(x_coord = c(1:100,1:100), y_coord = c(100:1, 1:100),
                  value = paste0("longer_legend_entry_" ,LETTERS[1:10] ) )
Run Code Online (Sandbox Code Playgroud)

我的目标是 ggplot 具有相同大小的 df1 和 df2 图形。所以我使用 coord_fixed() 来保持纵横比。但是由于在将绘图保存为 PNG 时我必须告诉 ggsave() 一个以英寸为单位的大小,因此不同大小的图例会导致问题。

ggplot(data = df1, aes( x = x_coord, y = y_coord, color = value ) ) +
  geom_point() +
  theme( legend.position="bottom" ) +
  coord_fixed()

ggsave("plot1.png", width=3, height=3, dpi=100)

ggplot(data = df2, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

5
推荐指数
1
解决办法
4871
查看次数

标签 统计

ggplot2 ×1

r ×1