python 词云(Word Cloud)设计
词云(Word Cloud)设计
1. 安装Word Cloud
1.1 下载对应python版本和硬件的whl文件
下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
选择当前系统环境适用的文件,如:wordcloud‑1.8.1‑cp37‑cp37m‑win_amd64.whl(python 3.7 windows 64位)。
点击文件,浏览器会自动下载。下载完成后,将文件移动到D:\software\Python文件夹下(路径最好不要包含中文)
1.2 安装Word Cloud
使用pip install命令安装所下载的whl文件。
pip install D:\software\Python\wordcloud-1.8.1-cp37-cp37m-win_amd64.whl
2. 编写词云程序
产生词云的步骤:
- 1.读取词云的文本文件;
- 2.WordCloud()不含参数表示使用默认环境,WordCloud().generate()方法创建文本文件的词云对象;
- 3.使用to_image()方法创建词云图像文件;
- 4.show()显示词云图像文件
2.1 英文词云
# author:mlnt
# createdate:2022/8/21
from wordcloud import WordCloud # 导入WordCloud模块"""
产生词云的步骤:
1.读取词云的文本文件;
2.WordCloud()不含参数表示使用默认环境,WordCloud().generate()方法创建文本文件的词云对象;
3.使用to_image()方法创建词云图像文件;
4.show()显示词云图像文件
"""with open(file='test1.txt') as f: # 打开文本文件txt = f.read() # 读取文本wd = WordCloud().generate(txt) # 由txt文字产生WordCloud对象
imageCloud = wd.to_image() # 创建词云图像文件
imageCloud.show() # 显示词云图像文件
imageCloud.save('test1.png') # 保存词云图像文件
test1.txt
Java PHP C C++ C# Python Ruby Go
Chrome Firefox
MySQL Oracle SQL Sever
Windows Linux Mac
Android IOS
Mazda Nissan Opel Peugeot Porsche Renault Rover Skoda Subaru
Toyota Volvo Volkswagen Suzuki
效果:
2.2 含中文的词云
需要安装中文分词函数库模块jieba:
pip install jieba
# author:mlnt
# createdate:2022/8/21# 需要安装中文分词函数库模块jieba
# pip install jiebafrom wordcloud import WordCloud # 导入WordCloud模块
import jieba # 导入jieba模块# 设置编码
with open(file='test2.txt', encoding='utf-8') as f:txt = f.read() # 读取文件# 使用cut()方法将读取的文件进行分词
cut_txt = ' '.join(jieba.cut(txt)) # 产生分词的字符串# 创建词云对象
wd = WordCloud(font_path=r'C:\Windows\Fonts\STXINGKA.TTF', # 字体文件路径 华文行楷background_color='silver', # 设置词云背景颜色width=600, # 宽度height=400, # 高度
).generate(cut_txt)imageCloud = wd.to_image() # 创建词云图像文件
imageCloud.show() # 显示词云图像文件
imageCloud.save('test2.png') # 保存词云图像文件
test2.txt:
Java PHP C C++ C# Python Ruby Go
Chrome Firefox
MySQL Oracle SQL Sever
Windows Linux Mac
Android IOS
Mazda Nissan Opel Peugeot Porsche Renault Rover Skoda Subaru
Toyota Volvo Volkswagen Suzuki
夏 商 周 春秋 战国 秦
西游记 红楼梦 三国演义 水浒传
百度 腾讯 阿里巴巴
京东 淘宝 拼多多
效果:
2.3 使用matplotlib模块创建词云图像
# author:mlnt
# createdate:2022/8/21
from matplotlib import pyplot as plt
from wordcloud import WordCloud # 导入WordCloud模块
import jieba # 导入jieba模块# 设置编码
with open(file='test2.txt', encoding='utf-8') as f:txt = f.read() # 读取文件# 使用cut()方法将读取的文件进行分词
cut_txt = ' '.join(jieba.cut(txt)) # 产生分词的字符串# 创建词云对象
wd = WordCloud(font_path=r'C:\Windows\Fonts\STXINGKA.TTF', # 字体文件路径 华文行楷background_color='silver', # 设置词云背景颜色width=600, # 宽度height=400, # 高度
).generate(cut_txt)# 使用matplotlib模块的imshow()方法创建图像文件
plt.imshow(wd)
plt.axis('off') # 隐藏轴线
# 保存图像文件
plt.savefig('词云图像.jpg', bbox_inches='tight')
plt.show() # 显示词云图像文件
- 使用jieba模块分割整段文字
# author:mlnt
# createdate:2022/8/21
from matplotlib import pyplot as plt
from wordcloud import WordCloud # 导入WordCloud模块
import jieba # 导入jieba模块# 设置编码
with open(file='陋室铭.txt', encoding='utf-8') as f:txt = f.read() # 读取文件# 使用cut()方法将读取的文件进行分词
cut_txt = ' '.join(jieba.cut(txt)) # 产生分词的字符串# 创建词云对象
wd = WordCloud(font_path=r'C:\Windows\Fonts\STXINGKA.TTF', # 字体文件路径 华文行楷background_color='silver', # 设置词云背景颜色width=600, # 宽度height=400, # 高度
).generate(cut_txt)# 使用matplotlib模块的imshow()方法创建图像文件
plt.imshow(wd)
plt.axis('off') # 隐藏轴线
# 保存图像文件
plt.savefig('陋室铭分割.jpg', bbox_inches='tight')
plt.show() # 显示词云图像文件
2.4 创建含图片背景的词云
图片须无背景色。
import numpy as np
from PIL import Image
from matplotlib import pyplot as plt
from wordcloud import WordCloud # 导入WordCloud模块# 设置编码
with open(file='huge.txt', encoding='utf-8') as f:txt = f.read() # 读取文件def transform_mask(imagename):mask = np.array(Image.open(imagename))mask = mask[:, :, 0] # transform 3d image to 2d for easier visualizationdef transform_format(val):if val.any() == 0:return 255else:return val# Transform your mask into a new one that will work with the functiontransformed_mask = np.ndarray((mask.shape[0], mask.shape[1]), np.int32)for i in range(len(mask)):transformed_mask[i] = list(map(transform_format, mask[i]))return transformed_mask# bgImage = np.array(Image.open('huge1.png')) # 背景图# 创建词云对象
wd = WordCloud(font_path=r'C:\Windows\Fonts\Muyao.TTF', # 字体文件路径background_color='white', # 设置词云背景颜色mask=transform_mask('huge.png') # mask设置
).generate(txt)# 使用matplotlib模块的imshow()方法创建图像文件
plt.imshow(wd)
plt.axis('off') # 隐藏轴线
# 保存图像文件
plt.savefig('含图片背景的词云.jpg', bbox_inches='tight')
plt.show() # 显示词云图像文件
测试文本:
仙剑奇侠传 琅琊榜 神话 伪装者
大好时光 天外飞仙 猎场
忘记时间 一吻天荒 六月的雨
天亮以后 风起时 蓝光 逍遥叹
南方车站的聚会 仙剑奇侠传三
轩辕剑之天之痕 香格里拉
风中奇缘 生活启示录 旋风十一人
李逍遥 宇文拓 景天
董永 易小川 扎西平措 穆奇
测试图片:
效果:
参考:
whl文件下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
https://zhuanlan.zhihu.com/p/141763110
https://blog.csdn.net/qq_34604224/article/details/121391890
https://www.freesion.com/article/8480324734/
python 词云(Word Cloud)设计相关推荐
- 让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)
让你的作品更出色-- 词云Word Cloud的制作方法(基于python) 本文目录: 一.词云的简介 二. 实现原理和流程 1.制作词云流程图 2.词云实现原理 三. 实现词云的方式 1.安装词云 ...
- [数据可视化] 词云(Word Cloud)
词云介绍 词云,又称文字云,是文本数据的视觉表示,由词汇组成类似云的彩色图形,用于展示大量文本数据.每个词的重要性以字体大小或颜色显示 词云(Word Cloud)主要用来做文本内容关键词出现的频率分 ...
- matlab的词云,Word Cloud (词云) - JavaScript
在上一篇中已经分享了用 Python 创建词云了.接下来继续总结其他创建词云的方法. &带道术用量确示常构端析以要效开的用,近不gt;> Create Word Cloud via Ja ...
- 在SAP分析云里根据业务数据绘制词云(Word Cloud)
词云(WordCloud)的概念,据网络上搜索到的资料,最早由美国一位新闻学专业的副教授提出,对文本中出现频率较高的关键词予以视觉上的突出,一般采取"出现频次越高,关键词渲染尺寸越大&quo ...
- 推荐一个免费的生成词云(word cloud)的在线工具
"词云"这个概念由美国西北大学新闻学副教授.新媒体专业主任里奇·戈登(Rich Gordon)提出. "词云"就是对网络文本中出现频率较高的"关键词& ...
- python词云乱码_python词云库wordCloud使用方法详解(解决中文乱码)
文章中的例子主要借鉴wordColud的examples,在文章对examples中的例子做了一些改动. 一.wordColud设计中文词云乱码 使用wordColud设计词云的时候可能会产生乱码问题 ...
- 【小盐巴学习笔记】—美团吃饭哪家强?Python词云分析告诉你
[小盐巴学习笔记]-美团吃饭哪家强?Python词云分析告诉你 效果图 前言 一.爬虫分析 1.分析网址 2.分析数据 二.完整代码 1.爬取美团牛排店评论 2.绘制词云图 3.词云分析 总结 效果图 ...
- python词云进阶——三国版
1 实验内容 在进行了上一个实验<利用Python定制个性化词云>之后,掌握了初步的词云制作.出于对三国历史的喜爱,因此想制作一个关于<三国演义>版的词云,以一个新的角度去看这 ...
- Python词云的实现
Python词云的实现 前言 一.词云是什么? 二.使用步骤 1.引入库 导入库时可能会遇到的困难 2.去除分词结果中的无用词汇 3.渲染词云 4.主函数 5. 完整代码 总结 前言 昨天看到了B站u ...
- python词云安装什么库_python词云安装什么库
python词云需要安装wordcloud库. 安装方法: 在cmd使用pip install wordcloud命令即可安装. wordcloud库把词云当作一个WordCloud对象:wordcl ...
最新文章
- GridView单元格取值显示为nbsp;
- 工业相机之全局曝光与卷帘曝光
- OSG的HUD抬头文字显示
- C语言创建map,遍历map
- spark 应用程序性能优化:12 个优化方法
- 史上最能“拜客户教”的公司,是如何做到持续交付的?(第2趴)|DevOps案例研究...
- MATLAB函数gensurf,MATLAB模糊逻辑工具箱函数.ppt
- 一起学习C语言:初步进入编程世界(一)
- PHPSTORM 6.0.3 Xdebug 配置9
- C语言 实验六 函数
- c语言课设雷霆战机编程,C语言写的雷霆战机
- BPEL与XPDL的定位区别
- CC00229.CloudKubernetes——|KuberNetes细粒度权限控制.V13|——|Ratel.v01|k8s资源管理平台部署|
- Java自定义变换产生摘要数据
- 天猫精灵对接智能设备
- static inline声明
- 012:vue+openlayers加载引用3种 Stamen地图(示例代码)
- Java项目管理系统 的设计与实现
- AB32VG1项目之智能晾衣架
- Mysql递归调用,报错:Subquery returns more than 1 row