栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python可视化之词云

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python可视化之词云

话不多说,直接上代码:

import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image

data=[]#存储原始数据
stopword={}#停用词
words={}#存储词汇:词频对
with open("雪中悍刀行.txt", 'r', encoding='utf-8') as file1:
    data=file1.readlines()
with open("cn_stopwords.txt", 'r', encoding='utf-8') as file2:
    stopword = {line.strip() for line in file2}

#对文章分词
data=''.join(data)
data=data.replace(r'n','')
data=jieba.cut(data,cut_all=False)#可选择分词模式

#统计词频
for item in data:
    if len(item)>2:
        if not words.__contains__(item):
            words[item]=1
        else:
            words[item]+=1
            
#导入绘制词云的图片,也可不添加使用默认值,之后初始化词云就不必设置mask属性
img=Image.open(r"heart.jpg")
img=np.array(img)

#初始化词云
my_wordcolud=WordCloud(
    background_color='white',#背景颜色
    max_words=40,#关键词个数
    font_path=r"D:pyprojectbigdatadataSourceHanSansSC-VF.ttf",#字体格式,绘制中文词云需要用到
    mask=img,#图片模板
    width=1000,
    height=1000
).generate_from_frequencies(words)
plt.figure(figsize=(18,16))
plt.imshow(my_wordcolud)
plt.axis('off')
plt.show()#展示词云
my_wordcolud.to_file(r'词云.jpg')#保存词云

结果展示:

这里只是分词后简单统计词频,所以结果仅供参考,如果需要代码中停用词表、图片、字体的,评论留下邮箱即可。
以上。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/580771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号