2017-10-31 5 views
0

halten Ich habe eine Wordcloud mit 29 Wörtern und ich möchte verschiedene Bilder haben, wo ich die Farbe jeder Kategorie von Wörtern ändern. Mein Problem ist, dass ich jedes Mal, wenn ich die Wordcloud laufe, die Position der Wörter ändere, während ich sie fixieren möchte. Irgendeine Idee?Wie man Wordcloud Layout in R

In dem Code unten haben Sie die Liste der Wörter und Häufigkeit und dann gebe ich drei verschiedene Arten von Farbliste. Wenn Sie es ausführen, ändern sich Farben, aber auch das Layout (d. H. Wörter werden an einem anderen Ort positioniert).

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) 

Der Code, den ich laufen versucht haben, ist:

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

Einige Beispiel gibt Hervorhebung das Problem:

enter image description here

+0

Ich habe am Ende wordcloud2 verwendet, das scheint dieses Problem zu haben. BTW sogar mit set.seed() Ich konnte Wordcloud() nicht zwingen, das gleiche Layout zu verwenden ... – Sabotar

+0

Haben Sie den Code Zeile für Zeile innerhalb von R ausgeführt oder das ganze Skript auf einmal ausgeführt? Wenn Sie das gesamte Skript auf einmal ausführen, sollte es funktionieren. –

Antwort

0

ich dieses Problem nicht auf Linux R 3.4.2 reproduzieren kann. Starten eine neue R-Sitzung (R --vanilla) und die folgenden Aufruf erzeugt immer wieder genau die gleiche Handlung jedes Mal

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

Hier ist ein kleines Beispiel, das für die Fehlersuche nützlich funktioniert auch und ist:

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

Einzelheiten

> 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

Danke für die Antwort! – Sabotar