Python生成指定形状词云图的完整实现
本文介绍如何在Python中利用WordCloud库结合jieba分词生成指定形状的词云图。通过读取文本文件、进行中文分词与拼接,并指定字体路径及背景图片作为掩膜,可生成具有特定轮廓的词云。代码包含从文本处理到图像保存及显示的完整流程,适用于数据可视化场景。
Python词云生成代码实现
import matplotlib.pyplot as plt
import jieba
from wordcloud import wordcloud
# 1.读出词语
text = open('text/test.txt', 'r', encoding='utf-8').read()
print(text)
# 2.把歌词剪开
cut_text = jieba.cut(text)
# print(type(cut_text))
# print(next(cut_text))
# print(next(cut_text))
# 3.以空格拼接起来
result = " ".join(cut_text)
# print(result)
# 4.生成词云
wc = wordcloud.WordCloud(
font_path='font/王漢宗勘亭流繁.ttf', # 字体路劲
background_color='white', # 背景颜色
width=1000,
height=600,
max_font_size=50, # 字体大小
min_font_size=10,
mask=plt.imread('images/xin.jpg'), # 背景图片
max_words=1000
)
wc.generate(result)
wc.to_file('images/jielun.png') # 图片保存
# 5.显示图片
plt.figure('images/jielun') # 图片显示的名字
plt.imshow(wc)
plt.axis('off') # 关闭坐标
plt.show()
实现词云图生成主要涉及三个关键配置:首先,在WordCloud初始化时指定有效的字体文件路径,以支持中文显示;其次,利用plt.imread加载一张指定形状的图片作为掩膜(mask),词云将严格遵循该图片的轮廓进行绘制,示例中选用了一张云朵形状的图片;最后,准备包含目标词汇的文本文件(如test.txt),作为词云生成的内容来源。
外向 善良 开朗 活泼 好动 轻松 愉快 热情 可亲 豁达 稳重 幽默 真诚 豪爽 耿直 成熟 独立
果断 健谈 机敏 深沉 坚强 兴奋 热情 率直 毅力 友爱 风趣 沉静 谨慎 忠诚 友善 严肃 忠心
乐观 坦率 勇敢 自信 自立 沉著 执著 容忍 体贴 满足 积极 有趣 知足 勤劳 和气 无畏 务实
轻浮 冲动 幼稚 自私 依赖 任性 自负 拜金 暴躁 倔强 虚伪 孤僻 刻薄 武断
浮躁 莽撞 易怒 轻率 善变 狡猾 易怒 多疑 懒惰 专横 顽固 猜疑 挑衅 冷漠
虚荣 冷淡 反覆 跋扈 自负 逆反 怨恨 鲁莽 放任 贫乏 固执
内向 脆弱 自卑 害羞 敏感 迟钝 柔弱 畏缩 顺从 胆小 安静 寡言 保守 被动 忍让
抑郁 谨慎 胆怯 温和 老实 平和 顺服 含蓄 迁就 羞涩 忸怩 缓慢 乏味 散漫
迟缓 罗嗦 耐性 悲观 消极 拖延 烦躁 妥协 唠叨
好交际 善组织 有韧性 可依赖 规范型 好心肠 善交际 无异议 竞争性 自控性 受尊重
激励性 重秩序 有条理 聆听者 无拘束 领导者 受欢迎
神经质 糊涂虫 有惰性 易兴奋 好批评 不专注 好争吵 无目标 不宽恕 无热忱 易激动
难预测 不合群 不灵活 喜操纵 情绪化 大嗓门 统治欲 强迫性 好表现
适应能力强 工作有效率 能克服困难 办事认真细心 严守秩序有条理 善于体察别人 常为小事而动感情
完美主义者 轻率不踏实 易见异思迁 易轻率作决定 语言动作迟缓 不易暴露内心活动
执拗不灵活 适应能力差 显得落落寡合 不圆滑老练 不善言谈交际
词云效果展示
生成的最终视觉效果如下图所示。


以上即为Python中实现指定形状词云图的完整示例。如需了解更多Python相关技术细节,建议查阅本站发布的其他技术文章。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









