2017-10-31 12 views
0

私は29単語のワードクラウドを持っており、それぞれの単語カテゴリの色を変更する写真が異なるようにしたい。私の問題は、Wordcloudを再び実行するたびに単語を変更しても、その単語を固定しておきたいということです。何か案が?Rでワードクラウドレイアウトを維持する方法

以下のコードでは、単語と頻度のリストがあり、次に3種類のカラーリストを指定します。あなたがそれを実行すると、色は変わりますが、レイアウトも変わります(言葉は異なる場所に配置されます)。

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を使用しましたが、この問題があるようです。私は同じレイアウトを使用するためにwordcloud()を強制することができませんでした... – Sabotar

+0

R内の行ごとにコードを実行していたか、または一度にスクリプト全体を実行していましたか?一度にスクリプト全体を実行するとうまくいくはずです。 –

答えて

0

私は、Linux R 3.4.2でこの問題を再現することはできません。 (R --vanilla)新鮮Rセッションを開始して、次のように呼び出すと、繰り返しごとに

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

はここでも動作し、トラブルシューティングに役立つ小さな例ですまったく同じプロットを生成します。

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

詳細

> 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

関連する問題