几行代码教你使用python制作词云(三)

几行代码教你使用python制作词云(三)

本文将介绍绘制指定图片(形状)的词云

1.准备数据
我这里准备了有关叶子的介绍文本(yezi.txt),长度无关紧要,比这个长几倍都是可以的

2.准备所要形状的图片
我的是一张枫叶叶子图,图片大家可以挑自己喜欢的

3.代码分析

导入词云制作库wordcloud和中文分词库jieba

# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud

导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片

# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("./input/fengye.jpg")
w = wordcloud.WordCloud(mask=mk)

构建并配置词云对象

# 构建并配置词云对象w,scale参数用法是提高清晰度
w = wordcloud.WordCloud(background_color='white',
                        font_path='simsun.ttc',
                        mask=mk,
                        scale=15)

中文分词

# 对来自外部文件的文本进行中文分词,得到string
file = open('./data/YeZi.txt', encoding='utf-8')
text = file.read()
textlist = jieba.lcut(text)
str = " ".join(textlist)

将str变量传入w的generate()方法,给词云输入文字

# 将str变量传入w的generate()方法,给词云输入文字
w.generate(str)

在控制台绘制并输出图像

# 在控制台绘制并输出图像
import matplotlib.pyplot as plt  #绘图
plt.imshow(w,interpolation="bilinear")
plt.axis("off")

将词云图片导出到当前文件夹

# 将词云图片导出到当前文件夹
w.to_file('./output/yezi.png')

运行结果

4.完整代码

# -*- coding: utf-8 -*-
"""
Created on Mon Jun  1 09:24:07 2020

@author: Jay-L
"""

# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud

# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("./input/fengye.jpg")
w = wordcloud.WordCloud(mask=mk)

# 构建并配置词云对象w,注意要加scale参数,提高清晰度
w = wordcloud.WordCloud(background_color='white',
                        font_path='simsun.ttc',
                        mask=mk,
                        scale=15)

# 对来自外部文件的文本进行中文分词,得到string
file = open('./data/YeZi.txt', encoding='utf-8')
text = file.read()
textlist = jieba.lcut(text)
str = " ".join(textlist)

# 将str变量传入w的generate()方法,给词云输入文字
w.generate(str)

# 在控制台绘制并输出图像
import matplotlib.pyplot as plt  #绘图
plt.imshow(w,interpolation="bilinear")
plt.axis("off")

# 将词云图片导出到当前文件夹
w.to_file('./output/yezi.png')

5.可能报错

报错原因:font_path错误;

解决方法参考这篇文章 python词云制作出现cannot open resource错误解决方法

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Ashore

感谢各位老板的打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值