2017-02-27 39 views
2

我正在使用R包wordcloud2。它工作正常,但我需要產生一個PDF結果,我發現的唯一方法是以下幾點。 我已經獲得了詞和相應頻率的數據幀:如何把wordcloud放在一個高質量的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中,然後我把它轉換成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等)。有沒有辦法?

+0

您可以使用RStudio。繪製圖形並保存每個下拉菜單。 – Jimbou

+0

Ehi Jimbou,這樣我就可以以非常低的質量保存這個數字。允許的定義有一個限制。 –

+1

嘗試在創建wordcloud時使用較大的「大小」 –

回答

0

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可以在谷歌瀏覽器打開你的worldcloud

enter image description here

3)您節省了谷歌瀏覽器的PDF輸出( CTRL + P - >保存 - > PDF)

enter image description here

4)在這裏下載您的高品質pdf輸出: https://www.docdroid.net/3tZaVGm/capturar-pdf.pdf