golangでGo !!

とりあえずGo言語を触っていきます。

Go で Wordcloudを使う方法

ここを参考にしてみたんですけど、

>>Goで青空文庫の小説からWordCloud作ってみた - Qiita

まぁ、上手くいきませんw

初心者には難しことこの上ないww

 

とりあえずライブラリを go get しちゃいます。

>>GitHub - psykhi/wordclouds: Wordclouds in go

ここまでは特に問題ない。

 

とりあえずサラサラとコードを書いていったら

上手く実行できません・・・

まず、フォントを指定するんですけど、どうもこのライブラリは

ttfしか対応してないようです。

Macを使ってたので適当なttcを指定していたら、例外エラーになって

ひとしきり悩みましたw

あと、デフォルトでColorsを指定してあげないと、画像は生成されるけど、

BackgroundColorで指定した色の画像だけが生成されるw

文字色をしていしない場合は黒色で生成されると思ってたから、これも悩んだ!

エラーになれば初心者でも分かるんだけどな・・・

 

だからとりあえず文字色作って ↓↓

// なぜか文字だけ表示されない!!!
// 意味がわからないぞー
// ↓ 結果、デフォルトのフォントカラーを指定しないとダメみたい
var DefaultColors = color.RGBA{
{0x1b, 0x1b, 0x1b, 0xff},
{0x48, 0x48, 0x4B, 0xff},
{0x59, 0x3a, 0xee, 0xff},
{0x65, 0xCD, 0xFA, 0xff},
{0x70, 0xD6, 0xBF, 0xff},
}
colors := make(color.Color, 0)
for _, c := range DefaultColors {
colors = append(colors, c)
}

 

こんな感じに設定して ↓↓

w := wordclouds.NewWordcloud(
wordlist,
wordclouds.Height(2048),
wordclouds.Width(2048),
wordclouds.RandomPlacement(false),
wordclouds.FontMaxSize(800),
wordclouds.FontMinSize(10),
wordclouds.FontFile("./ipaexg.ttf"),
wordclouds.Colors(colors),
wordclouds.BackgroundColor(color.RGBA{0, 0, 0, 255}),
)

 

生成されたのがコレ!!  ↓↓

羅生門を解析した結果だけど、意外なほどカッコよくないですか?

羅生門