绘制词云图的代码
时间: 2023-06-21 17:12:36 浏览: 89
以下是使用Python中的wordcloud库绘制词云图的示例代码:
```python
# 导入所需库
import jieba
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
# 读取文本文件
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用jieba分词对文本进行处理
words = jieba.cut(text)
# 对分词结果进行处理,去除停用词
stopwords = set(STOPWORDS)
stopwords.add('的') # 加入自定义停用词
filtered_words = []
for word in words:
if word not in stopwords:
filtered_words.append(word)
# 对处理后的分词结果进行词频统计
word_counts = {}
for word in filtered_words:
if len(word) == 1: # 去除单个汉字
continue
word_counts[word] = word_counts.get(word, 0) + 1
# 根据词频生成词云图
mask = np.array(Image.open('mask.png')) # 使用图片作为词云图形状
wc = WordCloud(font_path='simhei.ttf', # 指定字体
background_color='white', # 设置背景色
max_words=200, # 最多显示词数
mask=mask, # 设置词云图形状
max_font_size=100, # 最大字号
random_state=42) # 随机种子
wc.generate_from_frequencies(word_counts)
# 绘制词云图
plt.figure(figsize=(10, 8))
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
```
其中,`text.txt`是要生成词云图的文本文件,`mask.png`是词云图的形状图片,`simhei.ttf`是字体文件,可以根据需要进行替换。
阅读全文