2017-10-31 11 views
0

29 단어로 된 워드 클라우드가 있으며 각 단어 카테고리의 색상을 변경하는 그림이 필요합니다. 내 문제는 내가 워드 클라우드를 다시 실행할 때마다 단어의 위치가 바뀌지 않도록 유지하면서 변경한다는 것입니다. 어떤 생각?R에서 단어 클라우드 레이아웃을 유지하는 방법

아래의 코드에는 단어 및 빈도 목록이 있으며 세 가지 유형의 colorlist를 지정합니다. 실행하면 색상이 변경되지만 레이아웃도 바뀝니다 (예 : 단어가 다른 위치에 배치됨).

name <- c("Trump","Central bank", "Brexit", "Inflation", "Employment", "China", 
    "Trade", "Bond Market", "Equity market","Economic Growth", "Tax reform", 
    "Monetary Policy","ECB","FED","Macron","oil prices", "Market volatility", 
    "Cyber risk", "North Korea", "Financial crisis","Fiscal Policy", 
    "Emerging Markets","Political uncertainty","Saudi Arabia","Exchange rates", 
    "Housing Markets","Le Pen","Merkel","Healthcare") 


colorlist=c("grey","red","grey","grey","grey","grey","grey","grey","grey", 
      "grey","grey","red","red","red","grey","grey","grey","grey", 
      "grey","grey","grey","grey","grey","grey","grey","grey","grey","grey","grey") 

# Frequency count of the words 
freq=c(2044,1978,1938,1826,1722,1483,1434,1352,1343,1270,1209,1179,1114,925, 
     816,762,744,654,572,545,476,466,432,406,370,326,282,243,236) 

내가 실행 시도 코드는 다음과 같습니다

library(wordcloud) 
set.seed(512) 
wordcloud(name, freq, random.order=FALSE,fixed.asp=TRUE, 
      colors=colorlist, ordered.colors=TRUE) 

몇 가지 예는 문제를 강조 출력 :

enter image description here

+0

끝에 wordcloud2를 사용하여이 문제가있는 것 같습니다. BTW 심지어 set.seed() 사용하여 동일한 레이아웃을 사용하도록 wordcloud() 강제로 수 없습니다 ... – Sabotar

+0

R 내에서 줄 단위로 코드를 실행하거나 한 번에 전체 스크립트를 실행했다? 즉시 전체 스크립트를 실행하면 효과가 있습니다. –

답변

0

나는 리눅스 R 3.4.2에서이 문제를 재현 할 수 있습니다.

set.seed(42) 
wordcloud::wordcloud(letters, freq = seq_along(letters)) 

세부

: 동일한 플롯마다

set.seed(512) 
wordcloud(name, freq, random.order=FALSE, fixed.asp=TRUE, colors=colorlist, ordered.colors=TRUE) 

여기에 또한 작동 및 문제 해결에 유용 작은 예입니다 생성 새로운 R 세션 (R --vanilla)를 시작하고 반복적으로 다음을 호출

> sessionInfo() 
R version 3.4.2 (2017-09-28) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Ubuntu 16.04.3 LTS 

Matrix products: default 
BLAS: /usr/lib/atlas-base/atlas/libblas.so.3.0 
LAPACK: /usr/lib/atlas-base/atlas/liblapack.so.3.0 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] wordcloud_2.5  RColorBrewer_1.1-2 

loaded via a namespace (and not attached): 
[1] compiler_3.4.2 Rcpp_0.12.13 slam_0.1-40 
+0

답변 해 주셔서 감사합니다! – Sabotar