Python文本数据可视化之“词云”图

import numpy as np # numpy数据处理库

import wordcloud # 词云库

from PIL import Image # 图像处理库,用于读取背景图片

import matplotlib.pyplot as plt # 图像展示库,以便在notebook中显示图片

from openpyxl import load_workbook #读取词频Excel文件

import os #获取词频Excel文件路径

#将存好的Excel词频表读取成字典

path='词频' #文件所在文件夹

files = [path+"\\"+i for i in os.listdir(path)] #获取文件夹下的文件名,并拼接完整路径

maskImage = np.array(Image.open('background.png')) # 定义词频背景图

for file in files:

#将词频Excel文件读取为字典

wb = load_workbook(file)

ws = wb.active

wordFreq = {}

for i in range(2,ws.max_row+1):

word = ws["A"+str(i)].value

freq = ws["B"+str(i)].value

wordFreq[word] = freq

#定义词云样式

wc = wordcloud.WordCloud(

font_path='C:/Windows/Fonts/simhei.ttf', # 设置字体

mask= maskImage, # 设置背景图

max_words=500, # 最多显示词数

max_font_size=100) # 字号最大值

#生成词云图

wc.generate_from_frequencies(wordFreq) # 从字典生成词云

#保存图片到指定文件夹

wc.to_file("词云图\\{}.png".format(file.split("\\")[1][:4]))

#在notebook中显示词云图

plt.imshow(wc) # 显示词云

plt.axis('off') # 关闭坐标轴

plt.show() # 显示图像

相关推荐
badhope4 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
码云数智-园园5 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
吴佳浩5 小时前
GPU 编号进阶:CUDA\_VISIBLE\_DEVICES、多进程与容器化陷阱
人工智能·pytorch·python
C++ 老炮儿的技术栈5 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl5 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628885 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
IT猿手5 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
全栈凯哥5 小时前
18.Python中的导入类完全指南
python
AI科技星6 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
sunwenjian8866 小时前
Java进阶——IO 流
java·开发语言·python