15

用語ドキュメントマトリックスからタグクラウドを生成する実用的なRコードがいくつかあります。

今度は、多くのドキュメントから大量のタグクラウドを作成し、後でそれらを視覚的に検査したいと思います。タグクラウド画像がどのドキュメント/コーパスに属しているかを知るために、生成されたグラフィックにタイトルを追加します。それ、どうやったら出来るの?

これは明らかかもしれませんが、私はまだRグラフィックスの初心者です。

私自身のコーパスは大きすぎてここにリストできませんが、このSO質問のコード(SOユーザーAndrieから受け入れられた回答のコードと組み合わせて使用​​できます: wordcloudのスペース カスタムタイトルとカスタムテキストを追加したいこのような写真に

4

2 に答える 2

24

このwordcloud()関数はプロット全体を塗りつぶします。つまり、プロットする前に、タイトル用にグラフィックデバイスのスペースを予約する必要があります。

wordcloudベースグラフィックスを利用するので、またはのいずれpar(mfrow=...)かでこれを行うことができますlayout()。次に、でプロットタイトルを作成しますtext()

私はで説明しlayout()、例を次のように適応させます?wordcloud

library(tm)
library(wordcloud)

x <- "Many years ago the great British explorer George Mallory, who 
was to die on Mount Everest, was asked why did he want to climb 
it. He said, \"Because it is there.\"

Well, space is there, and we're going to climb it, and the 
moon and the planets are there, and new hopes for knowledge 
and peace are there. And, therefore, as we set sail we ask 
God's blessing on the most hazardous and dangerous and greatest 
adventure on which man has ever embarked."

layout(matrix(c(1, 2), nrow=2), heights=c(1, 4))
par(mar=rep(0, 4))
plot.new()
text(x=0.5, y=0.5, "Title of my first plot")
wordcloud(x, main="Title")

これにより、以下が生成されます。

ここに画像の説明を入力してください

于 2013-03-05T14:46:00.503 に答える
4

1つのアイデアは、画像をインポートし、を使用して再度保存し、を使用しgrid.rasterてタイトルを追加することgrid.textです。例えば:

ll <- list.files(patt='*.png')
library(png)
library(grid)
imgs <- lapply(ll,function(x){
  img <- as.raster(readPNG(x))
  ## get the file name
  x.name <- gsub('(.*).png','\\1',x)
  ## new device for new image version
  png(file =paste(x.name,'_modified','.png',sep=''))
  grid.raster(img)
  ## here I add title
  grid.text(label = x.name,x=0.5,y=0.9,gp=gpar(cex=2))
  dev.off()

})
于 2013-03-05T13:50:49.023 に答える