大家好,我刚刚发布了自己的第一个julia包——WordCloud.jl。WordCloud.jl
是一个纯julia实现的词云生成工具。WordCloud.jl
具有灵活、高效、准确的特点,可以快速生成各种风格的定制化词云。而且WordCloud.jl
没用采用常见的贪心策略(一词一放,既放不动),这样不需要为了放入剩余空白而缩放单词,从而避免了文字大小的失真。
可以使用命令import Pkg; Pkg.add("WordCloud")
以安装WordCloud.jl
。在using WordCloud
后,使用runexample
or showexample
可以运行或查看一些例子。
项目的github地址是:GitHub - guo-yong-zhi/WordCloud.jl: word cloud generator in julia
抄过来一些例子:
Alice蒙版
using WordCloud
wc = wordcloud(
process(open(pkgdir(WordCloud)*"/res/alice.txt"), stopwords=WordCloud.stopwords_en ∪ ["said"]),
mask = loadmask(pkgdir(WordCloud)*"/res/alice_mask.png", color="#faeef8"),
colors = :Set1_5,
angles = (0, 90),
fillingrate = 0.7) |> generate!
paint(wc, "alice.png", ratio=0.5, background=outline(wc.mask, color="purple", linewidth=1))
故乡动图
using CSV
using DataFrames
using WordCloud
df = CSV.File(pkgdir(WordCloud)*"/res/guxiang_frequency.txt", header=false)|> DataFrame;
words = df[!, "Column2"]
weights = df[!, "Column3"]
wc = wordcloud(words, weights, fillingrate=0.8)
gifdirectory = "guxiang_animation"
generate_animation!(wc, 100, outputdir=gifdirectory)
注意目前process
函数并不支持中文文本分词,所以中文词云需要手动传入words
和weights
列表。
好吧,新用户不让传两张图。希望大家多多鼓励,提出宝贵意见~撒花