gpt4 book ai didi

r - 编织为pdf时ggplot2条形图中不需要的条纹

转载 作者:行者123 更新时间:2023-12-04 09:33:46 24 4
gpt4 key购买 nike

将一个简单的条形图编织为 pdf 时,我的条形图中出现了一些不需要的条纹(请参见所附屏幕截图的右侧)。


---
title: "Don't Panic"
author: "Ford Perfect"
output: pdf_document
---


```{r, include = F}
library(ggplot2)
```

# Introduction

```{r, echo = F, fig.cap = "My plot"}
ggplot(mpg) + geom_bar(aes(x = as.factor(cyl), y = hwy), stat="identity")
```

当我直接在 R-Studio 中创建绘图时,这些条纹不会出现(参见所附屏幕截图的左侧)。

我找到了一种通过聚合之前的数据来删除这些条纹的方法:
ggplot(aggregate(hwy~cyl,mpg,"sum")) + 
geom_bar(aes(x = as.factor(cyl), y = hwy), stat="identity")

所以我明白这些条纹应该来自堆叠数据集中的所有其他组。这个理论似乎是合理的,因为当我也按年(mpg 数据集中的 2 个唯一值)聚合数据集时,我得到了两个条纹。
ggplot(aggregate(hwy~cyl*year,mpg,"sum")) + 
geom_bar(aes(x = as.factor(cyl), y = hwy), stat="identity")

但是我认为当我将 stat 设置为 identity 时,ggplot2 会自动为我进行聚合?实际上它可以直接在 R-Studio 中工作。所以也许问题更多地与knitr有关?

我相信我过去没有遇到过同样的问题。那么也许更新会改变一些东西?实际上,我所有的同事(其他 6 台 Mac 和 Windows 计算机)都有完全相同的问题。

R 版本 3.4.0 (2017-04-21)
平台:x86_64-w64-mingw32/x64(64位)
ggplot2:2.2.1
针织:1.15.1

最佳答案

如评论中所述,图形的文件类型会影响图形在输出 pdf 中的呈现方式。

使用提供的块:

```{r, echo = F, fig.cap = "My plot"}
ggplot(mpg) + geom_bar(aes(x = as.factor(cyl), y = hwy), stat="identity")
```

默认 dev是pdf,pdf中的结果图形如问题帖子所示:

enter image description here

如果您在 dev 上明确使用,如在下面的块中,然后将生成一个 png,并且生成的 pdf 中的图像是需要的。
```{r, echo = F, fig.cap = "My plot", dev = "png"}
ggplot(mpg) + geom_bar(aes(x = as.factor(cyl), y = hwy), stat="identity")
```

enter image description here

关于r - 编织为pdf时ggplot2条形图中不需要的条纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43997029/

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