用wordcloud生成红楼梦词云图
时间: 2023-10-08 21:08:54 浏览: 107
好的,以下是生成红楼梦词云图的Python代码:
```python
# 导入需要的库
import jieba
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
# 读入红楼梦文本
text = open('hongloumeng.txt', 'r').read()
# 使用jieba进行中文分词
words = jieba.cut(text)
# 去除停用词
stopwords = set(STOPWORDS)
stopwords.add('一个')
stopwords.add('不是')
stopwords.add('什么')
stopwords.add('我们')
stopwords.add('那里')
stopwords.add('怎么')
stopwords.add('如今')
stopwords.add('这里')
stopwords.add('那个')
stopwords.add('就是')
stopwords.add('不知')
stopwords.add('不得')
stopwords.add('只是')
stopwords.add('众人')
stopwords.add('一面')
stopwords.add('两个')
stopwords.add('只有')
stopwords.add('听见')
stopwords.add('原来')
stopwords.add('不敢')
stopwords.add('不过')
stopwords.add('不好')
stopwords.add('不住')
stopwords.add('不由')
stopwords.add('不能')
stopwords.add('不曾')
stopwords.add('不禁')
stopwords.add('不在')
stopwords.add('不免')
stopwords.add('不少')
stopwords.add('不时')
stopwords.add('不堪')
stopwords.add('不愿')
stopwords.add('不得不')
stopwords.add('不知不觉')
filtered_words = []
for word in words:
if word not in stopwords:
filtered_words.append(word)
# 将分词结果转换为字符串
text = ' '.join(filtered_words)
# 读入背景图
background = np.array(Image.open('hongloumeng_bg.jpg'))
# 创建词云对象
wc = WordCloud(background_color='white', max_words=2000, mask=background, stopwords=stopwords, font_path='msyh.ttc')
# 生成词云
wc.generate(text)
# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
# 保存词云图片
wc.to_file('hongloumeng_wordcloud.png')
```
其中,我们使用了jieba库进行中文分词,并使用了一个停用词列表来去除无意义的词语。我们还使用了PIL库中的Image模块读入了一张红楼梦背景图,将其作为词云的形状。最后,我们使用WordCloud库创建了词云对象,并将其生成、显示、保存。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)