利用jieba库和wordcloud库生成一个词云图片,内容采用自己喜欢的电子书TXT文档(不得重复)。
时间: 2024-02-06 17:09:41 浏览: 24
好的,以下是生成词云图片的Python代码:
```python
import jieba
from wordcloud import WordCloud, ImageColorGenerator
import numpy as np
from PIL import Image
# 读取电子书TXT文档
with open('book.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用jieba分词
words = jieba.cut(text)
# 过滤掉长度小于2的词语
filtered_words = []
for word in words:
if len(word) > 1:
filtered_words.append(word)
# 将词语列表转换为字符串
text = ' '.join(filtered_words)
# 读取背景图片
mask = np.array(Image.open('background.png'))
# 创建词云对象
wc = WordCloud(
background_color='white',
mask=mask,
font_path='simhei.ttf', # 使用中文字体
max_words=200, # 设置最大显示的词数
max_font_size=100, # 设置字体最大值
random_state=42 # 设置随机生成状态,保证每次生成的结果一致
)
# 生成词云
wc.generate(text)
# 从图片中提取颜色
image_colors = ImageColorGenerator(mask)
# 绘制词云并保存图片
wc.to_file('wordcloud.png')
```
在运行代码之前,需要将代码中的`book.txt`和`background.png`替换为你自己喜欢的电子书TXT文档和背景图片。同时,还需要下载中文字体`simsun.ttf`并将其重命名为`simhei.ttf`,放在代码同级目录下。
代码运行完成之后,会在代码同级目录下生成一个名为`wordcloud.png`的词云图片。你可以将其打印出来,或者在社交媒体上分享给朋友们。