【发布时间】:2017-05-18 05:08:37
【问题描述】:
例如,在尝试显示具有一百行的多面图时:
library(ggplot2)
set.seed(111)
tmp_d <- data.frame(group = rep(1:100, each = 5),
x = rep(1:5, times = 100),
y = runif(1:500))
## looks like
# group x y
# 1 1 1 0.5929813
# 2 1 2 0.7264811
# 3 1 3 0.3704220
# 4 1 4 0.5149238
# 5 1 5 0.3776632
# 6 2 1 0.4183373
# ...
ggplot(tmp_d, aes(x,y)) +
geom_point() +
facet_wrap(~ group, ncol = 1)
我在 Rstudio 的绘图窗口中弄得一团糟,无法放大或滚动:
不方便的解决方法涉及ggsave 或knitr:
使用ggsave:
ggsave('tmp_20170104_long_ggplot.png', p, height = 100, limitsize = F)
使用knitr:
将绘图嵌入到knitr 代码块中,fig.height 具有较大的任意值:
---
title: "Test plot of tall ggplot2"
output:
html_document
---
```{r, fig.height = 100}
library(ggplot2)
set.seed(111)
tmp_d <- data.frame(group = rep(1:100, each = 5),
x = rep(1:5, times = 100),
y = runif(1:500))
ggplot(tmp_d, aes(x,y)) +
geom_point() +
facet_wrap(~ group, ncol = 1)
```
两个问题:
- 如何轻松显示此类图?
- 如何确定每种解决方法的高度值?
【问题讨论】:
-
一个有 100 个面板的情节似乎......设计不当。
-
@Roland 为什么?我只想打印它,以便我可以单独查看每个。
-
你打算把它打印在房子的墙上吗?生成单独的图。
-
除了更容易从默认绘图选项生成之外,为什么生成单独的绘图有任何优势?
-
因为这样您就可以在不滚动的情况下在它们之间切换,随意排列它们并且可以实际打印它们。