r - R ggsave 输出不同的 pdf 和 png
问题描述
我在使用 ggsave 函数保存 pdf 和 png 数字时遇到了一个奇怪的问题。显然,得到的数字看起来有些不同。请看这里:
pdf 文件的网格线以黑色绘制,而 png 文件正确地以灰色显示网格线。我附上了一个最小的例子
library('tidyverse')
set.seed(1)
df <- tibble(x = rnorm(1000))
p <- df %>% ggplot(aes(x)) +
geom_histogram(bins = 20, fill = 'grey85', col = 'black', alpha = .4) +
theme_linedraw()
p
ggsave( 'test.pdf', p, device = 'pdf', width = 5, height = 5)
ggsave('test.png',p, device = 'png', width = 5, height = 5)
会话信息:
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS 10.14.2
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] cowplot_0.9.3 forcats_0.3.0 stringr_1.3.1 dplyr_0.7.6 purrr_0.2.5 readr_1.1.1 tidyr_0.8.1
[8] tibble_1.4.2 ggplot2_3.0.0 tidyverse_1.2.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.17 cellranger_1.1.0 pillar_1.3.0 compiler_3.5.1 plyr_1.8.4 bindr_0.1.1
[7] tools_3.5.1 jsonlite_1.5 lubridate_1.7.4 nlme_3.1-137 gtable_0.2.0 lattice_0.20-35
[13] pkgconfig_2.0.1 rlang_0.2.1.9000 cli_1.0.0 rstudioapi_0.7 yaml_2.1.19 haven_1.1.2
[19] bindrcpp_0.2.2 withr_2.1.2 xml2_1.2.0 httr_1.3.1 hms_0.4.2 grid_3.5.1
[25] tidyselect_0.2.4 glue_1.3.0 R6_2.2.2 fansi_0.2.3 readxl_1.1.0 modelr_0.1.2
[31] magrittr_1.5 backports_1.1.2 scales_0.5.0 rvest_0.3.2 assertthat_0.2.0 colorspace_1.3-2
[37] labeling_0.3 utf8_1.1.4 stringi_1.2.4 lazyeval_0.2.1 munsell_0.5.0 broom_0.5.0
[43] crayon_1.3.4
解决方案
我现在发现了这个问题。通过替换theme_linedraw()
为theme_bw()
PDF 和 PNG 数字是相同的。
推荐阅读
- windows - 如何在Windows中删除系统路径变量
- ios - 以编程方式为所有 iPhone 和 iPad 设备的横向和纵向模式下的 UIButtons 设置角半径
- c++ - 从 C++ 中的函数退出
- swift - Swift 中属性观察者的性能和资源成本是多少?
- python - 如何修复涉及保存后信号的 createsuper 错误
- go - 如何覆盖重载变量
- c# - 读取 7-zip 而不解压到文件
- sql - SQL 查询与 UNION 条件的比较
- jupyter-notebook - PyTorch 正在使 jupyter 笔记本崩溃,同时使用 nn 模块计算损失?
- sql - 如何在选择多列时按 1 列分组