【问题标题】:Save graph with emojis in label as pdf in R将带有表情符号的图形保存为 R 中的 pdf
【发布时间】:2021-04-09 04:21:17
【问题描述】:

在这里使用最佳答案:

How to export images of diagrammer in R

我设法将.dot 文件导入到 R 中,然后使用线条将包含名称和箭头的图形的可视化图导出为 pdf 格式


# setwd("/Folder with .dot graph file")

library(DiagrammeR)
library(DiagrammeRsvg)

DiagrammeR::grViz("mygraph.dot") %>%
  export_svg %>% charToRaw %>% rsvg_pdf("graph.pdf")

.dot 文件中的label 字段包含表情符号的代表国家/地区。下面是.dot 文件的一小部分:

/* Created by igraph 1.2.6 */
digraph {
  0 [
    name=1
    type=NA
    label="A name\n????????"
    shape=note
    color=Black
    fillcolor=White
    style=filled
  ];
  1 [
    name=2
    type=NA
    label="Another Name\n????????"
    shape=note
    color=Black
    fillcolor=White
    style=filled
  ];
.
.
.
1 -> 0 [
    rel=a
    "type.x"=NA
    "type.y"=NA
  ];
2 -> 0 [
    rel=a
    "type.x"=NA
    "type.y"=NA
  ];
.
.
.
}

当我使用上面的代码将图形转换为 pdf 时,表情符号不会出现在最终的 pdf 中。

有没有办法将标签中包含表情符号的 .dot 文件中的图表转换为仍会显示表情符号的 pdf?

【问题讨论】:

  • 也许这与PDF有关?见this Adobe answer。作者提出了一种解决方法,例如光栅化或矢量化。不知道如何在 R 中做到这一点。转换为 pdf 时,通常会打印表情符号吗?
  • 您的最小示例点文件似乎对我有用(删除只有冒号的行)。我正在使用 DiagrammR v. 1.0.6.1、DiagrammRsvg 0.1 和 rsvg 2.1 进行 R-devel。我在 pdf 输出中得到光栅化标志。也许升级到(其中一个?)这些软件包的开发版本可能会有所帮助,或者您的完整点文件中存在其他问题,这些问题不会随截断版本显示。
  • @CharlieGallagher 感谢您提供的信息,使用线程中的信息我能够找到解决方案

标签: r pdf graph emoji diagrammer


【解决方案1】:

使用@charlie-gallagher 的评论,我找到了解决方案。

第一步是将整个图表(带有文本标签、箭头等)直接导出为.svg

svg = export_svg(grViz("mygraph.dot"))
write(svg, "mygraph.svg")

.svg 文件创建后,我只是使用另一个应用程序将 svg 转换为 pdf。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 2019-04-03
    • 2021-04-26
    • 2013-01-06
    • 2016-12-03
    相关资源
    最近更新 更多