针织物切断coord_fixed ggplot

时间:2018-07-07 19:27:19

标签: r ggplot2 r-markdown knitr

我遇到了一些行为,当我使用coord_fixed(ratio = 1)时,knitr会切断ggplot2图像的一部分。

mwe.Rmd

---
title: "mwe"
output: pdf_document
---

```{r}
library(ggplot2)

data <- list(
  x1 = 0:6,
  y1 = 0,
  x2 = rep(0:6, 2),
  y2 = rep(c(0, 1), each = 7) * -1,
  labels = paste("Label", 1:7)
)

g <- ggplot() + geom_text(aes(0:6, 0.75), label = data$labels)

g_unfixed_1 <- g + geom_raster(aes(data$x1, data$y1))
g_fixed_1 <- g_unfixed_1 + coord_fixed(ratio = 1)
g_unfixed_2 <- g + geom_raster(aes(data$x2, data$y2))
g_fixed_2 <- g_unfixed_2 + coord_fixed(ratio = 1)

g_unfixed_1
g_fixed_1
g_unfixed_2
g_fixed_2
```

通过以下调用,我可以看到g_fixed_1的上边距与g_fixed_2的上边距相比略有减少:

rmarkdown::render("mwe.Rmd", clean = F)

我看了knitr制作的PDF,图的顶部被g_fixed_1剪断了:

g_fixed_1

g_fixed_2(两行数据)相比:

g_fixed_2

1 个答案:

答案 0 :(得分:0)

我有同样的问题,并使用以下方法解决了该问题:

p + scale_y_continous(limits = c(0, max(value)*1.1))

在我的示例中,我在一个绘图文件上进行了循环,如下所示:

    for(n in names(tabla)) {
    plots_ms[[n]] +
      scale_y_continuous(limits = c(0, max(plots_ms[[n]]$data$ms)*1.1))
}