python作爱心词云图

  1. python读取txt文本内容
  2. python获取图片内容
  3. 制作词云图
  • 准备工作
    (1)准备一张清晰的爱心图片
    (2)准备一个txt文件,这个是词云图的文字内容
    在这里插入图片描述
  • 基于python3.7的完整代码
import jieba #中文分词包
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from os import path

#define the absolute path for directory
d = "C:\\Users\\GXP\\Desktop\\worldcloud"
#path.join实现文件地址的链接,open则打开相应的文件,read则读取相应的文件
text = open(path.join(d, 'love_words.txt')).read()

#if txt contain chinese words, recommand to use jieba model
chtext = ''
with open(path.join(d, 'love_words.txt'),'r') as fin:
    for line in fin.readlines():
        line = line.strip('\n')
        chtext += ' '.join(jieba.cut(line))

#调用包PIL中的open方法,读取图片文件,通过numpy中的array方法生成数组
backgroud_Image = np.array(Image.open(path.join(d, "love.png")))
#停用词可以如下定义,也可以在WordCloud中定义.停用词的增加和删除操作如下
stopwords = set(STOPWORDS) 


#绘制词云图
wc = WordCloud(
    background_color='white',# 设置背景颜色
    mask=backgroud_Image,# 设置背景图片
    font_path='C:\\Windows\\Fonts\\STZHONGS.TTF',  # 若是有中文的话,这句代码必须添加,不然会出现方框,不出现汉字
    max_words=200, # 设置最大现实的字数
    stopwords = STOPWORDS,# 设置停用词,停用词则不再词云图中表示 也可以直接有字符串,设置停用词stopwords = 'to'
    max_font_size=150,# 设置字体最大值
    random_state=1,# 设置有多少种随机生成状态,即有多少种配色方案
    scale = 5#设置生成的词云图的大小
    #regexp = 'to'#设置词语文字段的解析的分隔字段
)

#传入需画词云图的文本,与该方法作用相同generate_from_text(text)
wc.generate(chtext)

# 展示图片
#根据原始背景图片的色调进行上色
image_colors = ImageColorGenerator(backgroud_Image)
plt.imshow(wc.recolor(color_func=image_colors))
#根据原始黑白色调进行上色
#plt.imshow(wc.recolor(color_func=grey_color_func, random_state=3), interpolation='bilinear') #生成黑白词云图
#根据函数原始设置进行上色
#plt.imshow(wc)
 
#隐藏图像坐标轴
plt.axis("off")
plt.show()
 
# 保存生成的词云图
wc.to_file(path.join(d, "gengrate_love_star.png"))
  • 效果图
    在这里插入图片描述
  • End and have a nice day!!!
  • 8
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值