matplot绘制柱形图

import matplotlib.pyplot as plt
import numpy as np
import nltk

colors = 'rgbcmyk'
def bar_test(categories, words, counts):
	ind = np.arange(len(words))
	bar_list = []
	width = 1/(len(categories)+1)
	for category_id in range(len(categories)):
		bar = plt.bar(ind + width * category_id, 
				counts.get(categories[category_id]),
						width, 
							color = colors[category_id % len(colors)])
		bar_list.append(bar)
	plt.xticks(ind+width*2,words)
	plt.legend([b[0] for b in bar_list], categories, loc = 'upper left')
	plt.xlabel('words in different categories')
	plt.ylabel('counts')
	plt.title('word freq')
	plt.show()

genres = ['news', 'religion', 'hobbies', 'government', 'adventure']
words = ['can', 'could', 'may', 'might', 'must', 'will']
cfd = nltk.ConditionalFreqDist((genre, word) for genre in genres
											for word in nltk.corpus.brown.words(categories = genre)
											if word in words)
counts = {}
for genre in genres:
	counts[genre] = [cfd[genre][word] for word in words]

bar_test(genres, words, counts)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值