r - Windows 和 Linux 上 R markdown 的 html 输出大小差异很大
问题描述
我们生成一个 R markdown 周报,其中包含大量小图。ggplots 保存为 png,然后集成到 markdown 脚本中并在 html 中编码。我们最近将生成此报告的脚本移至具有 CentOS 7 和 RStudio Server Open Source 的 linux 机器上。在 linux 机器上生成的文件是 3-4 倍大(20MB 到 80MB)。
经调查,原因似乎是 PNG 图像在 Windows 上保存为索引颜色,但在 linux 上保存为 RGB。我想不出一种方法来改变 ggplots 在 linux 上的保存方式。有小费吗?
一个简单的例子:
library(ggplot2)
ggplot(mtcars, aes(mpg, hp)) + geom_point() +
geom_smooth(method = lm, se = FALSE)
ggsave("test_image.png")
在 linux 上生成 88 kb 图像,在 Windows 上生成 37 kb 图像。
在两台机器上运行 R 4.0.3 和 ggplot 3.3.2。
更新:对 linux vs windows 生成的图像进行更多调查:
> image_read(url_windows)
# A tibble: 1 x 7
format width height colorspace matte filesize density
<chr> <int> <int> <chr> <lgl> <int> <chr>
1 PNG 600 2545 sRGB FALSE 100070 20x20
> image_read(url_linux)
# A tibble: 1 x 7
format width height colorspace matte filesize density
<chr> <int> <int> <chr> <lgl> <int> <chr>
1 PNG 1800 7635 sRGB FALSE 1046302 59x59
窗户上的图像是大小和密度的 1/3。
所以似乎有一种简单的方法可以解决这个问题。感谢您的反馈!
解决方案
推荐阅读
- tcl - 如何在 TCL 中的字符串中查找多个子字符串模式
- java - spring boot:出现此错误-无法配置数据源:未指定“url”属性,并且无法配置嵌入式数据源
- javascript - 改变img的形状
- docker - 访问在 docker 容器中运行的 GitLab
- sql - 获取 min(id) 和相应的其他字段以及加入原始字段
- javascript - 无法向下滚动对话框并双击文件夹
- statistics - 如何在gnuplot中隐藏统计命令的输出
- html - 再现定位元素
- python - Displaying my current domain in my django template not working
- c# - 有没有办法可以在这行代码中模拟 _currencyRepository?