当前位置:网站首页>词云简单生成
词云简单生成
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
运行结果:
边栏推荐
- 【深度学习】TensorFlow学习之路一:TensorFlow简介及线性回归、逻辑回归实现
- 积性函数
- 最详树莓派4B装机流程及ifconfig不到wlan0的解决办法
- linux环境安装mysql和使用中的常见问题
- 【LaTex异常与错误】 - 公式编号的参考引用命令\eqref发生错误Undefined control sequence——可能是因为没加载宏包amsmath
- 14 Spark on RDD 广播变量
- WeChat applet wx:for loop output example
- 力扣每日一题-第50天-383. 赎金信
- (2022牛客多校三)A-Ancestor(LCA)
- (2022牛客多校五)D-Birds in the tree(树形DP)
猜你喜欢
![[Bug solution] ValueError: Object arrays cannot be loaded when allow_pickle=False](/img/db/d5af96c3bcb645219bd14233d16157.png)
[Bug solution] ValueError: Object arrays cannot be loaded when allow_pickle=False

(2022杭电多校三)1009.Package Delivery(贪心)

2022牛客多校六 A-Array(构造+哈夫曼)

postgresql源码学习(35)—— 检查点⑤-检查点中的XLog清理机制

域前置通信过程和溯源思路

(2022牛客多校五)D-Birds in the tree(树形DP)

【深度学习】TensorFlow学习之路二:ANN简介及TensorFlow实现

Modal dialog is used to implement the sign-in

08 Spark on RDD 依赖关系

(2022杭电多校四)1001-Link with Bracket Sequence II(区间动态规划)
随机推荐
(2022杭电多校三)1002-Boss Rush(状压DP+二分)
Introduction to basic grammar and the foundation of freemarker
不躺平,然后做到极致,就是最大的“安全感”
抽象内部类
如何在Android中使用Realm数据库
14 Spark on RDD 广播变量
洛谷P4197 Peaks 线段树合并
获取半年前当月的开始时间及当天结束时间
freemarker的基本语法及入门基础
根據百度地图返回的地址,截取省,市,区
moved异常,ask重定向
跨域请求浏览器无法显示set-cookie,坑了我一晚上
2021 RoboCom 世界机器人开发者大赛-本科组(决赛)7-1绿色围栏(模拟)
监听浏览器刷新事件
51nod 1706 最短路 + 思维
(2022牛客多校四)H-Wall Builder II(思维)
Binary tree level traversal and examples
Porting ucos2 code from stm32 to GD32
STM8L LCD digital tube driver, thermometer LCD display
牛客练习赛88 D 克鲁斯卡尔重构树