问题遇到的现象和发生背景
已经扣去背景的图片使用wordcloud制作词云图时,有的图片可以按照形状生成,有的生成了正方形,为什么?
问题相关代码,请勿粘贴截图
import wordcloud as wc
import jieba
from PIL import Image
import numpy as np
from matplotlib import pyplot as plt
class Word_Cloud():
def init(self, txt_name,img_name,font_name):
self.txt_name = txt_name
self.img_name = img_name
self.font_name = font_name
def txt(self):
with open(self.txt_name, mode="r", encoding="utf-8") as fp:
content = fp.read() # 读取文件内容
res = jieba.lcut(content) # 中文分词
text = " ".join(res) # 用空格连接所有的词
return text
def image(self):
image_size = Image.open(self.img_name).size # 图片大小
mask = np.array(Image.open(self.img_name))# 指定词云图效果
return mask
def to_show(self):
word_cloud = wc.WordCloud(font_path=self.font_name,mask=self.image()) # 创建词云对象
word_cloud.generate(self.txt()) # 生成词语
word_cloud.to_file("词云图效果_%s"%self.img_name) # 保存成图片
print("词云图输出成功!")
go = Word_Cloud(txt_name="text.txt",img_name="扇子.png",font_name="msyh.TTF")
go.to_show()