python简单代码示例-Python简单实现词云图代码及步骤解析
时间: 2024-01-13 16:04:35 浏览: 75
步骤解析:
1.安装所需库
首先,我们需要安装一些库,包括 `jieba`、`wordcloud`、`numpy`、`PIL` 等库。这些库可以通过 `pip install` 命令进行安装。
```python
!pip install jieba
!pip install wordcloud
!pip install numpy
!pip install PIL
```
2.准备文本数据
在进行词云图生成之前,我们需要准备一些文本数据。这里我们可以使用一些中文新闻文章或者其他中文文本数据。
3.分词
使用 `jieba` 库进行分词,将分词后的结果保存到一个列表中。
```python
import jieba
text = "这里是一段中文文本数据"
words = jieba.lcut(text)
```
4.生成词频字典
统计分词后每个词出现的次数,生成一个词频字典。
```python
freq = {}
for word in words:
if word in freq:
freq[word] += 1
else:
freq[word] = 1
```
5.生成词云图
使用 `wordcloud` 库生成词云图。
```python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 设置词云图参数
wc = WordCloud(
font_path='msyh.ttc', # 字体路径,需要将字体文件放在代码所在目录
width=800, height=600, # 图片宽高
background_color='white', # 背景颜色
max_words=50 # 最大词数
)
# 生成词云图
wc.generate_from_frequencies(freq)
# 显示词云图
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
```
完整代码示例:
```python
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 准备文本数据
text = "这里是一段中文文本数据"
# 分词
words = jieba.lcut(text)
# 生成词频字典
freq = {}
for word in words:
if word in freq:
freq[word] += 1
else:
freq[word] = 1
# 生成词云图
wc = WordCloud(
font_path='msyh.ttc',
width=800, height=600,
background_color='white',
max_words=50
)
wc.generate_from_frequencies(freq)
# 显示词云图
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
```
阅读全文