在使用python制作图云的过程中遇到生成的图内容为框的情况,如下图1:
后来了解到原来是字体设置的问题。字体应该设置为支持中文的字体。
import jieba
import wordcloud
import re
r= '[,。!?%、;]'
txt = open('threeking.txt', "r", encoding="utf-8")
context = txt.read()
context = re.sub(r,'',context)
txt.close()
contexts = jieba.lcut(context) #将所有数据切片。
words = " ".join(contexts) # join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
w = wordcloud.WordCloud(font_path="Songti.ttc",width=1000,height=700,background_color="white")
w.generate(words)
w.to_file("gro1.png")
代码中的font_path="Songti.ttc"为宋体的字体文件。原本使用其他字体文件的时候,会产生上面问题,修改为Songti.ttc之后,生成一下图2: