用python词频统计之三国演义(下卷)前十位 并展示条形图和词云图
时间: 2024-03-10 18:49:56 浏览: 92
python读取excel某列内容制作词云图并用条形图统计词频
好的,下面是Python代码,用于统计《三国演义》下卷的前十个高频词,并展示条形图和词云图。
```python
import jieba
import matplotlib.pyplot as plt
from collections import Counter
from wordcloud import WordCloud
# 读取文件
with open('san_guo_yan_yi_xia.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 分词
words = jieba.cut(content)
# 统计词频
word_counts = Counter(words)
# 获取前10个高频词
top_10_words = word_counts.most_common(10)
# 输出前10个高频词
print('前10个高频词:')
for word, count in top_10_words:
print('{}: {}'.format(word, count))
# 生成条形图
words = [x[0] for x in top_10_words]
counts = [x[1] for x in top_10_words]
plt.bar(words, counts)
plt.title('Top 10 Words in San Guo Yan Yi (Xia)')
plt.xlabel('Words')
plt.ylabel('Counts')
plt.show()
# 生成词云图
wordcloud = WordCloud(background_color='white', font_path='simhei.ttf', width=800, height=600)
wordcloud.generate_from_frequencies(word_counts)
wordcloud.to_file('wordcloud.png')
# 显示词云图
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
```
其中,`san_guo_yan_yi_xia.txt`是保存《三国演义》下卷文本的文件名,需要根据实际情况修改。`top_10_words`存储了前10个高频词,你可以根据需要修改为前20个或其他数量。`simhei.ttf`是一个中文字体文件,用于在词云图中显示中文。你需要将其下载并保存在与Python文件相同的目录下。
运行以上代码后,你可以得到前10个高频词,并展示一个名为`wordcloud.png`的词云图和一个条形图。
阅读全文