用python完成以四大名著其中一本书中的成语作为词云内容,以一个里面的人物作为背景,绘制一个词云。(要求词云中带有自己的学号姓名,设置背景颜色为自己喜欢的颜色,字体大小和字体自己定义)
时间: 2024-10-29 12:13:40 浏览: 51
使用Python中的pyecharts库读取csv文件绘制词云
在Python中,你可以使用`wordcloud`库来创建词云,并结合其他库如`matplotlib`和`pandas`来处理数据。以下是简单的步骤:
1. **安装所需库**:
首先需要安装`wordcloud`, `matplotlib`, 和 `jieba`(用于分词)。在命令行运行:
```
pip install wordcloud matplotlib pandas jieba
```
2. **获取成语数据**:
可能需要从网络上搜索四大名著中的成语列表,比如《西游记》里的成语,然后整理成文本文件。
3. **准备人物背景信息**:
指定自己喜欢的背景颜色、字体大小和名称。例如:
- 背景颜色:`background_color = 'lightblue'`
- 字体大小:`font_path = 'simhei.ttf'`(这里假设你有一个名为`simhei.ttf`的简体中文字体文件)
- 学号姓名:`student_id = '001'` and `name = '张三'`
4. **读取文本并分词**:
使用`jieba`库对成语文本进行分词:
```python
with open('chenshu.txt', encoding='utf-8') as f:
text = f.read()
words = set(jieba.cut(text))
```
5. **创建词云**:
```python
from wordcloud import WordCloud
wc = WordCloud(font_path=font_path,
background_color=background_color,
width=800, height=600,
max_words=200, # 显示的最多词语数
margin=2, # 边距
random_state=42) # 保证每次生成的词云布局一致
wordcloud = wc.generate_from_frequencies(dict(words))
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.title(f"词云图 - {name} ({student_id})", fontsize=20)
plt.show()
```
6. **保存图片**:
如果想将词云保存到文件,可以添加`plt.savefig('output.png')`。
阅读全文