用python写一个制作词云的程序
时间: 2023-11-10 10:05:26 浏览: 52
以下是一个简单的制作词云的Python程序:
```
import wordcloud
import matplotlib.pyplot as plt
# 读取文本文件
with open('text.txt', 'r') as f:
text = f.read()
# 创建词云对象
wc = wordcloud.WordCloud(width=800, height=600, background_color='white', max_words=200)
# 生成词云图像
wc.generate(text)
# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
# 保存词云图像
wc.to_file('wordcloud.png')
```
这个程序需要使用`wordcloud`和`matplotlib`两个库,可以通过pip安装。
其中,`text.txt`是要制作词云的文本文件,`width`和`height`分别是词云图像的宽度和高度,`background_color`指定词云背景颜色,`max_words`指定最多显示的词语数量。生成的词云图像可以通过`imshow`函数显示在窗口中,也可以通过`to_file`函数保存到文件中。
相关问题
python歌词词云制作
制作Python歌词词云需要使用到一些第三方库,比如jieba、wordcloud等。下面是一个简单的Python程序,可以实现歌词词云的制作:
```python
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取歌词文件
with open('lyrics.txt', 'r', encoding='utf-8') as f:
lyrics = f.read()
# 使用jieba进行分词
words = jieba.cut(lyrics)
# 将分词结果放入一个列表中
word_list = [word for word in words if len(word) > 1]
# 将列表转换为字符串
text = " ".join(word_list)
# 生成词云
wc = WordCloud(background_color='white', width=800, height=600).generate(text)
# 显示词云
plt.imshow(wc)
plt.axis('off')
plt.show()
```
其中,'lyrics.txt'是歌词文件的路径,需要根据实际情况修改。执行程序后,就可以生成一个包含所有歌词关键词的词云图,可以通过调整WordCloud类的参数来实现不同的样式。
西游记词云python程序
《西游记》是中国古代四大名著之一,要制作关于《西游记》的词云,我们可以用Python中的库如`jieba`进行分词,然后使用`wordcloud`库生成词云图。以下是一个简单的步骤和代码示例:
1. **数据准备**:首先需要收集《西游记》文本数据,可以从网络上找电子版或者文本文件。
2. **分词**:使用`jieba`库对文本进行中文分词。如果你已经有了分好的词汇列表,也可以直接使用。
```python
import jieba
# 假设你有一个名为"west_journey_text.txt"的文本文件
with open('west_journey_text.txt', 'r', encoding='utf-8') as file:
text = file.read()
tokens = jieba.lcut(text)
```
3. **创建词频字典**:统计每个词语出现的频率。
```python
from collections import Counter
word_freq = Counter(tokens)
```
4. **生成词云**:使用`wordcloud`库创建词云图片。
```python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 设置词云参数
wordcloud = WordCloud(font_path='simhei.ttf', width=800, height=600, background_color='white').generate_from_frequencies(word_freq)
# 显示词云
plt.figure(figsize=(10, 8))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.title('西游记词云')
plt.show()
```
**相关问题**:
1. 如何在Python中安装jieba库?
2. 除了jieba,还有哪些常用的中文分词库可以配合词云使用?
3. 如果文本文件中包含标点符号和停用词,如何在分词前进行预处理?