当前位置:   article > 正文

python作爱心词云图_python中如何加载心形图片作为词云背景

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"))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 效果图
    在这里插入图片描述
  • End and have a nice day!!!
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/506543
推荐阅读
相关标签
  

闽ICP备14008679号