用python生成词频云图(python实例二十一)

目录

1.认识Python

2.环境与工具

[2.1 python环境](#2.1 python环境)

[2.2 Visual Studio Code编译](#2.2 Visual Studio Code编译)

3.词频云图

[3.1 代码构思](#3.1 代码构思)

[3.2 代码实例](#3.2 代码实例)

[3.3 运行结果](#3.3 运行结果)

4.总结


1.认识Python

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象脚本语言

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。

2.环境与工具

2.1 python环境

在Windows上使用命令行窗口查看所安装的python版本

复制代码
python --version

2.2 Visual Studio Code编译

Visual Studio Code是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全、代码重构功能,并且内置了命令行工具和Git 版本控制系统。

3.词频云图

3.1 代码构思

使用词频云图模块库wordcloud、画图模板库matplotlib、中文分词库jieba,读入文本文件、图片文件,然后通过分词进行文本解析,然后绘制最终的词频云图。

3.2 代码实例

复制代码
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
import jieba

# 文件路径
filename = 'test2.txt'

# 读取文本文件
with open(filename, encoding='utf-8') as f:
    vtext = f.read()

# 使用 jieba 分词
vtext = ' '.join(jieba.cut(vtext))

# 读取背景图片
img = plt.imread('1.png')

# 获取默认的屏蔽词,并添加自定义屏蔽词
stopwords = set(STOPWORDS)
vstop = ['没有', '还有', '不是', '只是', '说到']
for i in vstop:
    stopwords.add(i)

# 生成词云对象
wordcloud = WordCloud(
    font_path='./part4/cangekuheiziti.ttf',
    background_color='white',
    max_words=200,
    mask=img,
    stopwords=stopwords
).generate(vtext)

# 显示词频云图
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')  # 设置图形坐标

# 显示图形
plt.show()

# 保存图形
wordcloud.to_file('wordcloud_output.jpg')

3.3 运行结果

4.总结

在程序运行前要保证文本文件1.txt文件内有文本,这样才能根基文本文件中词语出现的频率生成最终的词频图,还有要注意要有.ttf字体文件以及背景图片。

自己运行起来试试看吧!

相关推荐
iAm_Ike2 小时前
Go 中自定义类型与基础类型间的显式类型转换详解
jvm·数据库·python
iuvtsrt3 小时前
Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】
jvm·数据库·python
chao1898443 小时前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
赏金术士3 小时前
Kotlin 习题集 · 高级篇
android·开发语言·kotlin
旦莫3 小时前
AI驱动的纯视觉自动化测试:知识库里应该积累什么知识内容
人工智能·python·测试开发·pytest·ai测试
楼兰公子4 小时前
buildroot 在编译rust时裁剪平台类型数量的方法
开发语言·后端·rust
知识领航员4 小时前
蘑兔AI音乐深度实测:功能拆解、实测表现与适用场景
java·c语言·c++·人工智能·python·算法·github
吴声子夜歌5 小时前
Go——并发编程
开发语言·后端·golang
ooseabiscuit5 小时前
Laravel4.x:现代PHP框架的奠基之作
java·开发语言·php
c1s2d3n4cs6 小时前
Qt模仿nlohmann::json进行序列化和反序列化
开发语言·qt·json