词云图红楼梦 python代码
时间: 2023-10-13 14:28:56 浏览: 134
基于python对红楼梦的人物分析项目代码.zip
以下是用 Python 生成红楼梦词云图的代码:
```python
import jieba
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
from PIL import Image
# 读取文本文件
with open('hongloumeng.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用 jieba 进行分词
words = jieba.cut(text)
words = ' '.join(words)
# 读取红楼梦的图片
image = Image.open('hongloumeng.jpg')
mask = np.array(image)
# 生成词云图
wc = WordCloud(font_path='msyh.ttc', mask=mask, background_color='white', max_words=5000, max_font_size=80)
wc.generate(words)
# 基于图片颜色生成词云图的颜色
image_colors = ImageColorGenerator(mask)
wc.recolor(color_func=image_colors)
# 保存词云图
wc.to_file('hongloumeng_wordcloud.jpg')
# 显示词云图
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
```
需要注意的是,为了能够正确显示中文,需要在代码中指定字体文件,如上面的代码中的 `font_path='msyh.ttc'`。此外,还需要准备一张红楼梦的图片,用于生成词云图的形状。在代码中,我们使用了 Pillow 库的 `Image.open()` 函数来读取图片,并将其转换为 NumPy 数组用于生成词云图的形状。最后,调用 `WordCloud` 类的 `recolor()` 方法可以基于图片颜色重新生成词云图的颜色,使得词云图更加美观。
阅读全文