首先,我们需要收集和筛选自己需要的数据内容,可以使用数据爬虫爬取或者是本地文件。
前期准备:
1.python3及以上
2.使用pip安装jieba,PIL, matplotlib,numpy,wordcloud ,msyh.ttf中文字体,其中jieba主要应用于分词,numpy用于数据处理,wordcloud用于词云图制作和显示,安装过程请自行百度。
from wordcloud import WordCloud
import jieba
import PIL
import matplotlib.pyplot as plt
import numpy as np
def wordcloudplot(txt):
path = r'D:/wordcloud/msyh.ttf' #中文字体
alice_mask = np.array(PIL.Image.open('D:/wordcloud/1.jpg')) #保存文件
#设计词云图的显示格式
wordcloud = WordCloud(font_path=path,
background_color="white",
margin=5, width=1800, height=800, mask=alice_mask, max_words=2000, max_font_size=60,
random_state=42)
wordcloud = wordcloud.generate(txt)
wordcloud.to_file('D:/wordcloud/1.jpg')
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
def main():
a = []
#打开并使用jieba分词,.csv是我的数据文件
f = open(r'D:/wordcloud/haiwang_yingping.csv', 'r',encoding='utf-8').read()
words = list(jieba.cut(f))
for word in words:
if len(word) > 1:
a.append(word)
txt = r' '.join(a)
wordcloudplot(txt)
if __name__ == '__main__':
main()
显示结果如下:
小白初学,如果有发现各种bug和改进方法,欢迎大佬评论留言!