根据(本地)数据或文件制作词云图

首先,我们需要收集和筛选自己需要的数据内容,可以使用数据爬虫爬取或者是本地文件。

前期准备:

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和改进方法,欢迎大佬评论留言!

猜你喜欢

转载自blog.csdn.net/weixin_42424151/article/details/86405864