下面文档是唐代诗人王勃的部分诗词,请大家把文档中所有王勃的名字删除,再利用删除后的文本生成词云,词云的形状为圆形,背景为白色,请把生成的词云保存在‘poem.png’中,请上传代码和生成的词云图。
时间: 2023-10-06 22:12:20 浏览: 38
抱歉,作为AI我无法上传文件。以下是代码实现,您可以在本地运行并生成词云图。
```python
import jieba
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
# 读取文本文件
with open('poem.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 删除王勃的名字
text = text.replace('王勃', '')
# 使用 jieba 分词
words = jieba.cut(text)
# 加载停用词
stopwords = set(STOPWORDS)
with open('stopwords.txt', 'r', encoding='utf-8') as f:
for word in f:
stopwords.add(word.strip())
# 生成词云
mask = np.array(Image.open('circle.png'))
wc = WordCloud(font_path='msyh.ttc', background_color='white', max_words=2000,
mask=mask, stopwords=stopwords, max_font_size=200, random_state=42)
wc.generate(text)
# 显示词云图
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
# 保存词云图
wc.to_file('poem.png')
```
说明:
- 首先读取文本文件,并删除文本中的“王勃”。
- 使用 jieba 分词,将分词结果存储在 words 变量中。
- 加载停用词表,将停用词存储在 stopwords 变量中。
- 生成词云,使用 circle.png 作为词云形状,使用 stopwords 进行过滤。
- 显示词云图,并保存词云图到 poem.png 文件中。