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() # 显示图像

相关推荐
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题】【Java基础篇】第10题:HashMap中的元素是有序存放的吗
java·开发语言·数据结构·后端·面试·哈希算法·哈希表
qq_189807037 小时前
C#怎么操作数据库存储过程 C#如何调用SQL Server存储过程传参并获取返回结果【数据库】
jvm·数据库·python
高洁017 小时前
AI模型部署进阶:Docker容器化部署AI项目
人工智能·python·深度学习·数据挖掘·知识图谱
itzixiao7 小时前
L1-049 天梯赛座位分配(20 分)[java][python][c]
java·开发语言·python
m0_746752307 小时前
HTML5视频标签针对不同设备DPR的资源选择逻辑
jvm·数据库·python
2301_773553627 小时前
c++怎么在Linux下获取文件被最后一次访问的精确纳秒时间【进阶】
jvm·数据库·python
gmaajt7 小时前
CSS如何给按钮添加按下缩小的动画_利用-active配合transform
jvm·数据库·python
子非鱼@Itfuture7 小时前
ThreadLocal 是什么?如何用?以及最佳使用场景
java·开发语言·spring
杨凯凡7 小时前
【024】JVM 参数入门:堆、栈、元空间与典型模板
java·开发语言·jvm
m0_747854527 小时前
CSS如何让响应式图片在容器内居中_利用background-position
jvm·数据库·python