词云--字符号---《红楼梦》代码
时间: 2023-08-06 21:04:15 浏览: 48
以下是使用Python实现生成《红楼梦》词云的代码:
```python
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
# 读取文本
with open('hongloumeng.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用jieba进行分词
words = jieba.cut(text)
# 过滤掉无意义的词汇
stopwords = {'的', '了', '是', '和', '就', '都', '而', '及', '与', '也', '在', '之', '以', '从', '这', '将', '中', '更', '有', '或', '说', '到', '被', '他', '她', '它', '我', '你', '是', '吧', '啊', '哦', '呀', '嗯', '嘻', '哈', '呢', '嘛', '咦', '哇', '唉', '咳', '喔', '呦', '噢', '嗬', '咚', '咕', '咔', '嗝', '嘘', '吁', '兮', '且', '如', '乃', '之', '故', '可', '已', '知', '因', '些', '请', '只', '但', '又', '何', '不', '此', '其', '因为', '所以', '虽然', '但是', '然而', '因此', '而且'}
filtered_words = [word for word in words if word not in stopwords]
# 拼接成字符串
text = ' '.join(filtered_words)
# 读取图片
image = Image.open('hongloumeng.png')
mask = np.array(image)
# 生成词云
wordcloud = WordCloud(font_path='msyh.ttc', mask=mask, background_color='white').generate(text)
# 显示词云
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
# 保存词云
wordcloud.to_file('hongloumeng_wordcloud.png')
```
需要注意的是,以上代码中使用的文本文件 `hongloumeng.txt` 和图片文件 `hongloumeng.png` 需要根据实际情况进行修改。此外,还需要安装 `jieba` 和 `wordcloud` 库。