想象一下,当你写完一篇日记或者一篇文章后,想要知道里面哪些词语出现得最多。这时候,词云图就能派上用场了。它会统计出文章里每个词语出现的次数,然后把这些词语以不同大小的字体展示出来,出现次数越多的词语,字体就越大,就像天空中最大的那朵云一样显眼。
词云图通常没有固定的形状,它可以是任何形状,甚至可以做成心形、动物形状等,非常灵活多变。颜色也可以五彩斑斓,看起来既美观又容易理解。
举个例子,如果你的文章里提到“学习”这个词非常多,那么在词云图中,“学习”这两个字就会特别大,一眼就能看到。而那些只出现过一两次的词语,则会以较小的字体显示。
词云图不仅用于文章分析,在做报告、演讲、甚至设计海报时都非常有用,因为它能够快速地让别人了解到主要内容是什么。
举个栗子
制作一个中国地图的词云
from wordcloud import WordCloud
from imageio.v2 import imread
import matplotlib.pyplot as plt
# 加载掩模图片
image = imread("C:/Users/XStar/Desktop/中国地图.jpg")
font_path = "C:/Windows/Fonts/simhei.ttf" # 黑体字体
# 创建词云对象
wcd = WordCloud(
font_path=font_path, # 指定字体文件
background_color='white',
width=800,
height=600,
max_font_size=100,
repeat=True,
mask=image,
colormap='Blues'
)
# 生成词云
text = '机器学习 数据挖掘 深度学习 算法 云计算 数据分析 人工智能 预测模型 大数据 数据可视化 自然语言处理 物联网 模式识别 计算机视觉 语音识别 数据安全 区块链 量化 智能决策 数据治理'
wcd.generate(text)
# 显示图像
plt.imshow(wcd, interpolation='bilinear')
plt.axis("off")
plt.show()
就会得出下图