这篇文章将为大家详细讲解有关python怎么制作词云图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
制作 Python 词云图
导言
词云图是一种可视化技术,用于通过尺寸大小和颜色突出显示文本中出现频率较高的单词。在 Python 中,使用 wordcloud 库可以轻松创建词云图。
准备文本数据
- 将文本数据导入 Python。
- 清理文本,删除标点符号、数字和停止词(如“the”、“and”、“of”)。
- 将文本转换为小写。
创建词云图
- 导入 wordcloud 库:
import wordcloud
- 创建一个 WordCloud 对象,并指定单词频率字典:
wordcloud = WordCloud(frequency)
- 使用
generate()
方法生成图像:wordcloud.generate()
- 创建一个 Matplotlib Figure,并添加词云图:
fig = plt.figure(); plt.imshow(wordcloud)
- 显示词云图:
plt.show()
自定义词云图
字体
- 设置字体:
font_path="path/to/font.ttf"
- 设置字体大小:
font_size
- 设置字体颜色:
color
形状和大小
- 设置词云图形状:
mask=np.array(shape)
- 设置词云图大小:
width
和height
布局
- 设置单词旋转角度:
rotation_range
- 设置单词间距:
max_words
和min_font_size
- 设置背景颜色:
background_color
颜色方案
- 使用预定义颜色图:
colormap
- 自定义颜色图:
color_func
高级配置
停止词
- 使用内置停止词列表:
stopwords
- 添加自定义停止词:
stopwords=["word1", "word2"]
词频
- 忽略频率较低的词:
min_frequency
- 缩放频率:
scale
示例代码
import wordcloud
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 导入文本数据
text = open("text.txt", "r").read()
# 清理和转换文本
text = text.lower()
text = text.replace(".", "").replace(",", "").replace("!", "")
words = text.split()
# 创建词频字典
freq_dict = {}
for word in words:
freq_dict[word] = freq_dict.get(word, 0) + 1
# 创建词云图
wordcloud = WordCloud(font_path="path/to/font.ttf",
max_words=100,
colormap="viridis")
wordcloud.generate_from_frequencies(freq_dict)
# 创建 Matplotlib Figure 并显示词云图
fig = plt.figure()
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
以上就是python怎么制作词云图的详细内容,更多请关注编程学习网其它相关文章!