当前位置:网站首页>词云简单生成
词云简单生成
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
运行结果:
边栏推荐
- Binary tree level traversal and examples
- 一命令删除所有指定进程
- (2022牛客多校四)D-Jobs (Easy Version)(三维前缀或)
- (nowcoder22529C)dinner(容斥原理+排列组合)
- linux环境安装mysql和使用中的常见问题
- AsyncTask的替代方案
- A preliminary study on the use of ndk and JNI
- 抽象内部类
- 【深度学习】TensorFlow学习之路五:DNN防止过拟合的几种方法及TensorFlow实现
- grpc系列3-自定义端镜像GOAWAY with error code ENHANCE_YOUR_CALM and debug data equal to “too_many_pings“
猜你喜欢
随机推荐
(2022牛客多校三)J-Journey(dijkstra)
考证必看 | PMP扫盲贴+PMP材料
时间对象的格式化
freemarker的基本语法及入门基础
51nod2884
启牛商学院靠不靠谱呢?证券账户开了安全吗
Hi3516 use wifi module
【深度学习】TensorFlow学习之路一:TensorFlow简介及线性回归、逻辑回归实现
(Codeforce 757)E. Bash Plays with Functions(积性函数)
LightningChart .NET 10.3.2 Crack 支持旧项目直接升级
mysql 高级知识【order by 排序优化】
51nod 2887 抓小偷 平面图最小割转换成最短路
51nod 1830
PHP regular to img SRC to add the domain name
(2022牛客多校五)H-Cutting Papers(签到)
并发编程第8篇,AQS源码解读
2022牛客多校六 B-Eezie and Pie (dfs)
WeChat applet wx:for loop output example
(2022杭电多校四)1001-Link with Bracket Sequence II(区间动态规划)
Hand-written prometheus exporter-01-Gauge (dashboard)