python人物词云分析代码60排
时间: 2023-07-22 14:25:03 浏览: 101
好的,以下是一个60行的Python人物词云分析代码示例:
```python
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
# 读取文本数据
with open('data.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 中文分词
words = jieba.cut(text)
# 统计每个人物名字出现的频率
name_freq = {}
for word in words:
if len(word) > 1: # 过滤掉单个字的词语
if word in name_freq:
name_freq[word] += 1
else:
name_freq[word] = 1
# 生成词云图
mask = np.array(Image.open('mask.jpg'))
wc = WordCloud(font_path='msyh.ttc', background_color='white', mask=mask)
wc.generate_from_frequencies(name_freq)
# 可视化展示词云图
plt.figure(figsize=(10, 10))
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
# 保存词云图
wc.to_file('wordcloud.png')
```
这个代码示例中,我们首先使用jieba库对文本数据进行中文分词,然后统计每个人物名字出现的频率,并生成词云图。为了让词云图的形状更加丰富,我们使用了一个自定义的蒙版(mask)图片。最后,我们将生成的词云图可视化展示出来,并保存到本地文件中。需要注意的是,我们在生成词云图时指定了字体路径和背景颜色,根据需要可以进行相应的调整。
阅读全文