for i in range10 # 此处统计排名前五的单词所以range5 word number = listi print关键字:-10频次:+8formatword number ##绘制柱状图 pltrcParamsfontsans-serif = SimHei # 解决中文乱码 pltsubplot1 1 1 # top_words
可以将绘制柱状图的代码放在循环外面,每次循环更新数据,最后统一绘制。同时,要将x轴的数据改为排名前五的单词。
示例代码:
import matplotlib.pyplot as plt
假设list为单词及其出现次数的列表
list = [("word1", 10), ("word2", 8), ("word3", 6), ("word4", 4), ("word5", 2)]
统计排名前五的单词
top_words = sorted(list, key=lambda x: x[1], reverse=True)[:5] x = [word[0] for word in top_words] y = [word[1] for word in top_words]
打印排名前五的单词及其出现次数
for i in range(5): word, number = top_words[i] print("关键字:{:-<10}频次:{:+>8}".format(word, number))
绘制柱状图
plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文乱码 plt.subplot(1, 1, 1) plt.title("用户评价分析") plt.xlabel("评价") plt.ylabel("数量") plt.bar(x, y) plt.show(
原文地址: https://www.cveoy.top/t/topic/eUKK 著作权归作者所有。请勿转载和采集!