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

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

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

1.准备数据
我这里准备了有关叶子的介绍文本(yezi.txt),长度无关紧要,比这个长几倍都是可以的
几行代码教你使用python制作词云(三)_第1张图片
2.准备所要形状的图片
我的是一张枫叶叶子图,图片大家可以挑自己喜欢的
几行代码教你使用python制作词云(三)_第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')

运行结果
几行代码教你使用python制作词云(三)_第3张图片
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错误解决方法

你可能感兴趣的:(python)