#使用以下两组python代码进行词云生成,虽然正常运行,但是图形蒙版均未能生效,求大神指点
#代码1
import jieba
import wordcloud
import matplotlib.pyplot as plt
import imageio.v2 as imageio
words = open("C:/Users/admin/Desktop/论语/论语全译.txt", encoding="ANSI").read() # 标明文本路径,打开
word_list = jieba.lcut(words) # 结巴词库切分词
word_list = [word for word in word_list if len(word.strip()) > 1] # 清洗一个字的词
word_clean = " ".join(word_list)
mask = imageio.imread(r'C:/Users/admin/Desktop/论语/米老鼠.jpg')
wc = wordcloud.WordCloud(font_path="simkai.ttf", # 指定字体类型
background_color="white", # 指定背景颜色
max_words=200, # 词云显示的最大词数
max_font_size=255, # 指定最大字号
mask=mask) # 指定模板
wc = wc.generate(word_clean) # 生成词云
plt.imshow(wc)
plt.axis("off")
plt.show()
# 保存文件
wc.to_file("C:/Users/admin/Desktop/论语/ciyun.png")
"""Wordcloud详细参数设置
def __init__(self, font_path=None, width=400, height=200, margin=2,
ranks_only=None, prefer_horizontal=.9, mask=None, scale=1,
color_func=None, max_words=200, min_font_size=4,
stopwords=None, random_state=None, background_color='black',
max_font_size=None, font_step=1, mode="RGB",
relative_scaling='auto', regexp=None, collocations=True,
colormap=None, normalize_plurals=True, contour_width=0,
contour_color='black', repeat=False,
include_numbers=False, min_word_length=0):
"""
#运行结果
#代码2
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
# 打开文本
with open("C:/Users/admin/Desktop/论语/论语全译.txt", encoding="ANSI") as f:
s = f.read()
# 中文分词
text = ' '.join(jieba.cut(s))
# 生成对象
img = Image.open("C:/Users/admin/Desktop/论语/米老鼠.jpg") # 打开遮罩图片
mask = np.array(img) # 将图片转换为数组
stopwords = ["我","你","她","的","是","了","在","也","和","就","都","这"]
wc = WordCloud(font_path="msyh.ttc",
mask=mask,
width=1000,
height=700,
background_color='white',
max_words=200,
stopwords=stopwords).generate(text)
# 显示词云
plt.imshow(wc, interpolation='bilinear') # 用plt显示图片
plt.axis("off") # 不显示坐标轴
plt.show() # 显示图片
# 保存到文件
wc.to_file("C:/Users/admin/Desktop/论语/米老鼠.png")
#运行结果
图片文件路径不正确,请检查图片文件的路径是否正确,是否存在该文件。
图片文件格式不支持,请确保图片文件是支持的格式,例如:JPG