使用Python对《西游记》进行分词、停用词过滤和词频统计,并利用wordCloud绘制词云,并对形状和颜色进行修改,背景格式设为孙悟空的形状,词云颜色也与背景相同位置上的颜色一致
时间: 2024-03-17 20:42:46 浏览: 105
好的,我会根据你的要求进行处理。首先需要安装一些Python库,包括jieba、wordcloud和numpy。
```
pip install jieba
pip install wordcloud
pip install numpy
```
接下来,我们需要读取《西游记》的文本文件,建议将文本文件保存在与Python文件相同的文件夹中。假设文本文件名为“journey_to_the_west.txt”。
```
import jieba
from wordcloud import WordCloud, ImageColorGenerator
import numpy as np
from PIL import Image
# 读取文本文件
with open('journey_to_the_west.txt', encoding='utf-8') as f:
text = f.read()
# 对文本进行分词和停用词过滤
words = jieba.lcut(text)
stopwords = ['的', '了', '在', '是', '和', '都', '也', '有', '就', '不', '这', '中', '他', '为', '上', '到', '与', '后', '之', '而', '以', '但', '于', '其', '从', '并', '还', '可以', '被', '让', '到了', '之后']
filtered_words = [word for word in words if word not in stopwords]
# 统计词频
word_freq = {}
for word in filtered_words:
if word in word_freq:
word_freq[word] += 1
else:
word_freq[word] = 1
# 生成词云
mask = np.array(Image.open('monkey.png')) # 读取背景图片
color = ImageColorGenerator(mask) # 根据背景图片生成颜色
wc = WordCloud(font_path='simkai.ttf', background_color='white', max_words=2000, mask=mask)
wc.generate_from_frequencies(word_freq)
wc.recolor(color_func=color) # 根据背景图片颜色修改词云颜色
# 保存词云图片
wc.to_file('wordcloud.png')
```
上述代码中,我们使用了jieba库对文本进行分词和停用词过滤,使用WordCloud库生成词云,并使用numpy库读取背景图片,将词云颜色修改为与背景图片相同位置上的颜色。
需要注意的是,我们使用了一张背景图片“monkey.png”,这个图片需要与Python文件保存在同一文件夹中。如果你想要使用其他形状的背景图片,可以将图片替换成自己想要的图片,并将文件名修改为相应的名称。
最后,我们可以在同一文件夹中找到生成的词云图片“wordcloud.png”,这张图片的形状和颜色都与我们的要求相符。
阅读全文