当前位置:网站首页>词云简单生成
词云简单生成
2022-08-08 23:37:00 【Debroon】
英文词云图:最简单的词云图
当我们写一篇文案或者思考一个问题的时候,一般会把所有可能出现的关键词写出来,甚至能写到二三十个,当然,这些关键词很多并不关键,它们只是出现在了你的头脑中了。
“词云图”是一种管理我们思维方式的好方法,避免了我们在所有出现的关键词上浪费时间动心思,那样问题是没办法推进的。
绘制词云图,我们使用 wordcloud 模块的 WordCloud
函数。
# -*- coding: utf-8 -*-
from wordcloud import WordCloud # 导入词云模块
import matplotlib.pyplot as plt
# 打开文本
text = open('constitution.txt').read()
# 生成对象
wc = WordCloud().generate(text)
# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
# 保存到文件
wc.to_file('wordcloud.png')
constitution.txt
下载链接:https://download.csdn.net/download/qq_41739364/86339152
运行结果:
中文词云图:中文字体
# -*- coding: utf-8 -*-
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 打开文本
text = open('《西游记》.txt', encoding='utf-8').read()
# 生成对象
wc = WordCloud(font_path='Hiragino.ttf', width=800, height=600, mode='RGBA', background_color=None).generate(text)
# Hiragino.ttf 是中文字体,需要下载
# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
# 保存到文件
wc.to_file('wordcloud.png')
《西游记》.txt
下载链接:https://download.csdn.net/download/qq_41739364/86339157
中文字体 Hiragino.ttf
下载链接:https://download.csdn.net/download/qq_41739364/86339164
运行结果:
中文词云图:分词
中文分词,使用 jieba 模块的 cut(text) 函数。
# -*- coding: utf-8 -*-
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba # 导入分词模块
# 打开文本
text = open('《西游记》.txt').read()
# 中文分词
text = ' '.join(jieba.cut(text)) # 格式:词 词 词,词和空格间隔
# 生成对象
wc = WordCloud(font_path='Hiragino.ttf', width=800, height=600, mode='RGBA', background_color=None).generate(text)
# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
# 保存到文件
wc.to_file('wordcloud.png')
《西游记》.txt
下载链接:https://download.csdn.net/download/qq_41739364/86339157
中文字体 Hiragino.ttf
下载链接:https://download.csdn.net/download/qq_41739364/86339164
运行结果:
中文词云图:生成指定形状的词云
# -*- coding: utf-8 -*-
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
# 打开文本
text = open('《西游记》.txt').read()
# 中文分词
text = ' '.join(jieba.cut(text))
# 生成对象
mask = np.array(Image.open("black_mask.png"))
wc = WordCloud(mask=mask, font_path='Hiragino.ttf', mode='RGBA', background_color=None).generate(text)
# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
# 保存到文件
wc.to_file('wordcloud.png')
《西游记》.txt
下载链接:https://download.csdn.net/download/qq_41739364/86339157
中文字体 Hiragino.ttf
下载链接:https://download.csdn.net/download/qq_41739364/86339164
black_mask.png
下载链接:https://download.csdn.net/download/qq_41739364/86339282
运行结果:
中文词云图:生成指定颜色的词云
指定颜色,我们使用 ImageColorGenerator
函数。
# -*- coding: utf-8 -*-
from wordcloud import WordCloud, ImageColorGenerator
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
# 打开文本
text = open('《西游记》.txt').read()
# 中文分词
text = ' '.join(jieba.cut(text))
# 生成对象
mask = np.array(Image.open("color_mask.png"))
wc = WordCloud(mask=mask, font_path='Hiragino.ttf', mode='RGBA', background_color=None).generate(text)
# 从图片中生成颜色
image_colors = ImageColorGenerator(mask)
wc.recolor(color_func=image_colors)
# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
# 保存到文件
wc.to_file('wordcloud.png')
《西游记》.txt
下载链接:https://download.csdn.net/download/qq_41739364/86339157
中文字体 Hiragino.ttf
下载链接:https://download.csdn.net/download/qq_41739364/86339164
color_mask.png
下载链接:https://download.csdn.net/download/qq_41739364/86339290
运行结果:
中文词云图:生成自定义颜色的词云
配色方案, 请搜索 HSL 配色方案。
# -*- coding: utf-8 -*-
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import random
import jieba
# 打开文本
text = open('《西游记》.txt').read()
# 中文分词
text = ' '.join(jieba.cut(text))
# 颜色函数
def random_color(word, font_size, position, orientation, font_path, random_state):
s = 'hsl(0, %d%%, %d%%)' % (random.randint(60, 80), random.randint(60, 80))
print(s)
return s
# 生成对象
mask = np.array(Image.open("color_mask.png"))
wc = WordCloud(color_func=random_color, mask=mask, font_path='Hiragino.ttf', mode='RGBA', background_color=None).generate(text)
# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
# 保存到文件
wc.to_file('wordcloud.png')
《西游记》.txt
下载链接:https://download.csdn.net/download/qq_41739364/86339157
中文字体 Hiragino.ttf
下载链接:https://download.csdn.net/download/qq_41739364/86339164
color_mask.png
下载链接:https://download.csdn.net/download/qq_41739364/86339290
运行结果:
中文词云图:精细控制
如果希望精细控制词云中出现的词,我们用 generate_from_frequencies
函数。
# -*- coding: utf-8 -*-
from wordcloud import WordCloud, ImageColorGenerator
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba.analyse
# 打开文本
text = open('《西游记》.txt').read()
# 提取关键词和权重
freq = jieba.analyse.extract_tags(text, topK=200, withWeight=True)
freq = {
i[0]: i[1] for i in freq}
# 生成对象
mask = np.array(Image.open("color_mask.png"))
wc = WordCloud(mask=mask, font_path='Hiragino.ttf', mode='RGBA', background_color=None).generate_from_frequencies(freq)
# 从图片中生成颜色
image_colors = ImageColorGenerator(mask)
wc.recolor(color_func=image_colors)
# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
# 保存到文件
wc.to_file('wordcloud.png')
《西游记》.txt
下载链接:https://download.csdn.net/download/qq_41739364/86339157
中文字体 Hiragino.ttf
下载链接:https://download.csdn.net/download/qq_41739364/86339164
color_mask.png
下载链接:https://download.csdn.net/download/qq_41739364/86339290
运行结果:
边栏推荐
- (codeforce547)C-Mike and Foam(质因子+容斥原理)
- 51nod1656 合并trie树
- (2022牛客多校五)D-Birds in the tree(树形DP)
- (2022杭电多校四)1011-Link is as bear(思维+线性基)
- (2022杭电多校四)1001-Link with Bracket Sequence II(区间动态规划)
- 11 Spark on RDD CheckPoint
- Modal dialog is used to implement the sign-in
- (2022牛客多校四)N-Particle Arts(思维)
- 最详树莓派4B装机流程及ifconfig不到wlan0的解决办法
- WeChat applet wx:for loop output example
猜你喜欢
2022牛客多校六 B-Eezie and Pie (dfs)
Use Mongoose populate to implement multi-table associative storage and query, with complete code included
PMP考点有哪些啊?
08 Spark on RDD 依赖关系
09 Spark on RDD 阶段划分
(2022牛客多校四)K-NIO‘s Sword(思维)
并发编程第11篇,线程池的一些常用用法和使用
Introduction to Qt (4) - Continuous playback of pictures (the use of two timers)
10 Spark on RDD Cache
51nod 2877熟练使用tarjan的知识
随机推荐
牛客练习赛88 D 克鲁斯卡尔重构树
百度地图智能搜索及拖拽画圆
2021 RoboCom 世界机器人开发者大赛-本科组(决赛)7-4猛犸不上 Ban(最短路)
LightningChart .NET 10.3.2 Crack 支持旧项目直接升级
获取一星期前的时间 n-1 为含当天 一周7天 7-1
最小生成树prim 求得 树上两点之间的最大最小值
有了国产 DevOps 工具 ,还怕数字化转型成本高?
07 Spark on RDD 血缘关系
Introduction to Qt (4) - Continuous playback of pictures (the use of two timers)
可以在易方达基金上买基金吗,安全吗
51nod 1830
MySQL 高级知识【 MyISAM 读锁写锁限制】
ABP中的数据过滤器
时间对象的格式化
获取当前时间的前/后某一天的日期
2022杭电多校五 C - Slipper (dijkstra+虚拟结点)
The most commonly used regular expressions
Golang gorm 数据库连接,迁移,索引
[PP-YOLOv2] Training a custom dataset
(2022杭电多校三)1011.Taxi(曼哈顿最值+二分)