如何在 PDF 中插入高质量的词云

4

我正在使用R包 wordcloud2。它运行良好,但是我需要生成一个结果pdf文件,我找到的唯一方法如下。

我已经获得了一个包含单词和相应频率的数据框:

> ds
          word freq
1         data   33
2        cloud   32
3  complessità   29
4       system   29
5      cliente   24
6       soglia   24
7      servizi   19
8      network   18
9     digitale   17
10       radio   17
11    progetto   15
12       scada   15
13   ticketing   15
14   telephone   14
15         web   14
16         app   13
17    business   13
18 engineering   13
19   requisiti   13
20     sistema   13

现在
library(wordcloud2)
library(webshot)
library("htmlwidgets")
webshot::install_phantomjs()
set.seed(142)
my_graph  = wordcloud2(ds, size = 1.5, #widgetsize = 10,
                       minRotation = -pi/4, maxRotation = -pi/4)

一旦我创建了wordcloud2对象(注意:我找不到好的widgetsize值。每次使用它时,我都会得到一个空图像。也许我可以使用它来创建一个更高清晰度的对象),我将其放入html中,然后将html转换为pdf:

# sizingPolicy(defaultWidth = 100, ....) <- possible solution?
saveWidget(my_graph, "myDocument.html"  , selfcontained = F)
webshot("myDocument.html","myFigure.pdf", delay =6, vwidth = 1500, vheight=1500)

我得到了一张低清晰度的图片:

enter image description here

在哪个步骤中可以设置我的最终图像的更高维度?我想要将我的wordcloud2图表(my_graph)直接创建为我需要的pdf(或png等)格式,并且希望它有我需要的尺寸。是否有方法实现这一点?

你可以使用RStudio。绘制图形并通过下拉菜单保存。 - Roman
嘿,Jimbou,这样我就可以用非常低的质量保存图像。允许的定义有限制。 - Andrea Ianni
1
在创建词云时,尝试使用更大的“size”。 - d.b
2个回答

2

我发现将webshot函数的selector参数设置为'#canvas'可以获得更好的结果。

因此,在你的情况下,应该是这样的:

webshot(
    url = "myDocument.html",
    file = "myFigure.pdf", 
    delay = 6, 
    vwidth = 1500, 
    vheight = 1500,
    selector = '#canvas'
)

2

1) 您运行您的代码

#Data
word<-c("data","cloud","complessità","system",
"cliente","soglia","servizi","network","digitale",
"radio","progetto","scada","ticketing","telephone",
"web","app","business","engineering","requisiti",
"sistema")
freq<-c(33,32,29,29,24,24,19,18,17,17,15,15,15,14,14,13,13,13,13,13)
ds<-as.data.frame(cbind(word, freq))
ds$freq<-as.numeric(ds$freq)

library(wordcloud2)
set.seed(142)
wordcloud2(ds, size = 1.5, #widgetsize = 10,
                       minRotation = -pi/4, maxRotation = -pi/4)

2) 在RStudio中,您可以在谷歌浏览器中打开您的词云图

输入图片描述

3) 您可以将谷歌浏览器的输出保存为PDF(CTRL+P->保存->PDF)

输入图片描述

4) 在此处下载您的高质量pdf输出: https://www.docdroid.net/3tZaVGm/capturar-pdf.pdf


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接