用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字体文件以及背景图片。

自己运行起来试试看吧!

相关推荐
尹人入圣8 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
开开心心_Every9 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c9 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
Nuanyt9 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
吴卫斌9 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
2601_9679873710 小时前
Python——入门级(定义功能def函数)
python·函数·可变参数·默认参数·关键字参数
超级架构师10 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
叼烟扛炮11 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
LMT流氓兔12 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
专注仿真12 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法