【问题标题】:Xaringan png vs svg image qualityXaringan png vs svg 图像质量
【发布时间】:2021-09-11 23:58:34
【问题描述】:

我发现与 SVG 相比,Xaringan (xaringan::moon_reader()) html 幻灯片中的 PNG/JPEG 图像在视觉上更加柔和和模糊。请参阅下面的示例屏幕截图。

相比之下,这三种格式在标准 html 报告 (rmarkdown::html_document()) 中在视觉上具有可比性。请看下面的截图。

显而易见的解决方案是使用 SVG。但是,对于复杂的图形,SVG 的大小会爆炸式增长。因此,在模板中用作默认值有点冒险。

例如,下面这张图片是 7MB 作为 SVG,而相应的 PNG 是 50kB。拥有许多这样的 SVG 图形会导致最终文档的大小达到数百 MB。

使用在线工具 (https://vecta.io/nano),我能够将 7MB 的 SVG 缩小到 1.6MB(减少 >75%)。尺寸差异巨大,质量没有明显的视觉变化。距离 PNG 尺寸还很远。

所以,我的一些问题是:

  • 为什么 xaringan 中的 PNG 质量不好?可以做些什么来改进它?

  • R 中是否有可以减小 SVG 大小的工具/设备? (简化/展平路径?)

  • 其他想法/建议?

    ## DON'T CLICK "RUN CODE SNIPPET" AS IT RUNS AS JAVASCRIPT
    ## THIS IS ONLY TO COLLAPSE CODE
    
    ---
    title: "Image quality"
    output:
      xaringan::moon_reader
    ---
    
    ## dev="svg",fig.height=5,fig.width=5
    
    ```{r,dev="svg",fig.height=4.8,fig.width=4.8}
    plot(1:5,1:5)
    ```
    
    ---
    
    ## dev="png",fig.height=6,fig.width=6
    
    ```{r,dev="png",fig.height=6,fig.width=6}
    plot(1:5,1:5)
    ```
    
    ---
    
    ## dev="jpeg",fig.height=6,fig.width=6
    
    ```{r,dev="jpeg",fig.height=6,fig.width=6}
    plot(1:5,1:5)
    ```
    
    # R version 4.1.0 (2021-05-18)
    # Platform: x86_64-conda-linux-gnu (64-bit)
    # Running under: Ubuntu 20.04.3 LTS
    # 
    # rmarkdown_2.10
    # xaringan_0.22

【问题讨论】:

    标签: r r-markdown xaringan


    【解决方案1】:

    如果我在浏览器中检查图像(右键单击一个并选择检查),我看到 PNG 和 JPEG 被绘制为 432x432 像素图像,即对于请求的 6 英寸图像,它假设为 72 dpi。我目前的显示器是 96 dpi 的视网膜,所以看起来有点模糊。

    我可以添加块选项fig.retina = 2,看起来更清晰。这将以 144 dpi 进行绘图,然后将其缩小到请求的大小。可能更大的数字看起来会更好,但它确实会增加输出的大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-18
      • 2019-05-14
      • 2012-11-07
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多