最近我的志愿者过生日,于是就想到了给她做一份生日礼物,采用的Python的词云,生成一颗心。需要安装三个库。以下记录制作过程。
pip install matplotlib
pip install wordcloud
pip install jieba
接下来在你的代码所在的文件夹新建一个文本,写入自己的祝福语,保存。然后在c盘windows文件夹的fonts里随便找一个中文字体粘贴到文本和代码所在文件夹下,前期的准备工具就结束了。
Talk is cheap,show me the code.
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
import jieba
jieba.add_word('???')#加入一些你希望完整出现的词语,确保这些词不会被分割
text = open('???.txt').read()#将你的文本里的字符存到text中
wordlist_after_jieba = jieba.cut(text)#使用结巴分词
wl_space_split = " ".join(wordlist_after_jieba)#将分好的词组以空格连接成字符串
print(wl_space_split)#查看分词效果
mask=plt.imread('???.jpg')#读取图片数据
font_path='???'#字体的路径
my_wordcloud = WordCloud(
background_color="white",#生成图片的背景颜色,默认为黑色
font_path=font_path,#字体路径,默认的字体不支持中文
random_state=30,#生成的词云随机配色方案种类
width=1500,height=1250,margin=2,#长宽和边缘宽
mask=mask#按照什么样的形状产生词云).generate(wl_space_split)#生成词云
plt.imshow(my_wordcloud)#显示图片
plt.axis("off")#隐藏坐标轴
plt.savefig('???.jpg',bbox_inches='tight')#保存图片,使其更紧凑
plt.show()#显示图片