用python写一个制作词云的程序
时间: 2023-11-10 10:05:26 浏览: 98
以下是一个简单的制作词云的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生成词云图
#### 准备工作
在开始创建词云图前,需确认已安装必要的库。这些库包括`wordcloud`用于生成词云图,`pandas`处理Excel文件中的词频数据,`matplotlib`负责展示和保存图表,以及`openpyxl`读取Excel文档[^3]。
```bash
pip install wordcloud pandas matplotlib openpyxl
```
#### 加载并准备数据
对于大多数情况来说,可以使用简单的字符串作为输入来测试效果;而在更复杂的应用场景下,则可能需要从外部资源加载文本资料或结构化表格内的词条列表。这里假设有一个名为`text`的变量存储着待分析的文字内容。
#### 创建基础版本的词云图
下面是一段基本代码片段用来快速构建一张默认样式的词云图像:
```python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 假设 'text' 是包含要可视化的词语集合的一个大字符串
wordcloud = WordCloud().generate(text)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off") # 不显示坐标轴
plt.show()
```
这段程序会依据传入的内容自动计算各单词出现次数,并按照一定算法排列成美观的效果呈现给用户查看[^1]。
#### 高级设置与个性化配置
为了使最终产出更加贴合需求,还可以进一步调整参数实现更多变化,比如改变背景颜色、字体样式或是指定特定形状轮廓填充文字等特性。例如,如果想要让词云呈现出心形图案,可以通过如下方式完成:
```python
import numpy as np
from PIL import Image
import os
d = os.path.dirname(__file__) if "__file__" in locals() else os.getcwd()
alice_mask = np.array(Image.open(os.path.join(d, "heart.png")))
wc = WordCloud(background_color="white", max_words=2000, mask=alice_mask,
contour_width=3, contour_color='steelblue')
# Generate a word cloud image
wc.generate(text)
# Store to file
wc.to_file("heart_word_cloud.png")
# Show the image
plt.figure(figsize=(8, 8))
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
```
上述脚本不仅实现了基于图片模板绘制的功能,还增加了边缘描边选项使得整体外观更为精致[^5]。
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类的参数来实现不同的样式。
阅读全文
相关推荐

















