python3使用matplotlib绘制条形图
Python  /  管理员 发布于 7年前   213
本文实例为大家分享了python3使用matplotlib绘制条形图的具体代码,供大家参考,具体内容如下
绘制竖状条形图
代码
from matplotlib import pyplot as pltfrom matplotlib import font_managermy_font = font_manager.FontProperties(fname="/usr/share/fonts/truetype/arphic/ukai.ttc")a = ["战狼2", "速度与激情8", "功夫瑜伽", "西游伏妖篇", "变形金刚5:最后的骑士", "摔跤吧!爸爸", "加勒比海盗5:死无对证", "金刚:骷髅岛", "极限特工:终极回归", "生化危机6:终章", "乘风破浪", "神偷奶爸3", "智取威虎山", "大闹天竺", "金刚狼3:殊死一战", "蜘蛛侠:英雄归来", "悟空传", "银河护卫队2", "情圣", "新木乃伊", ]b = [56.01, 26.94, 17.53, 16.49, 15.45, 12.96, 11.8, 11.61, 11.28, 11.12, 10.49, 10.3, 8.75, 7.55, 7.32, 6.99, 6.88, 6.86, 6.58, 6.23]plt.figure(figsize=(15,7))# 绘制条形图plt.bar(range(len(a)),b,width=0.3)# 对应x轴与字符串plt.xticks(range(len(a)),a,fontproperties=my_font,rotation=90)plt.savefig("./bar1.png")plt.show()
效果图
绘制横状条形图
代码
# 绘制横着的条形图from matplotlib import pyplot as pltfrom matplotlib import font_managermy_font = font_manager.FontProperties(fname="/usr/share/fonts/truetype/arphic/ukai.ttc")a = ["战狼2", "速度与激情8", "功夫瑜伽", "西游伏妖篇", "变形金刚5:最后的骑士", "摔跤吧!爸爸", "加勒比海盗5:死无对证", "金刚:骷髅岛", "极限特工:终极回归", "生化危机6:终章", "乘风破浪", "神偷奶爸3", "智取威虎山", "大闹天竺", "金刚狼3:殊死一战", "蜘蛛侠:英雄归来", "悟空传", "银河护卫队2", "情圣", "新木乃伊", ]b = [56.01, 26.94, 17.53, 16.49, 15.45, 12.96, 11.8, 11.61, 11.28, 11.12, 10.49, 10.3, 8.75, 7.55, 7.32, 6.99, 6.88, 6.86, 6.58, 6.23]plt.figure(figsize=(15, 7))# 绘制条形图plt.barh(range(len(a)), b, height=0.3,color='orange')# 对应x轴与字符串plt.yticks(range(len(a)), a, fontproperties=my_font, rotation=0)# 添加网格 alpha参数是设置网格的透明度的plt.grid(alpha=0.3)# 保存图片plt.savefig("./bar1.png")plt.show()
效果图
需要注意的是横着的和竖着的条形图的区别在与横着的使用的是barh()方法,同时要注意它传参数的顺序是:
def barh(y, width, height=0.8, left=None, *, align='center', **kwargs):
绘制多次条形图
代码
from matplotlib import pyplot as pltfrom matplotlib import font_managermyfont = font_manager.FontProperties(fname="/usr/share/fonts/truetype/arphic/ukai.ttc")a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]b_16 = [15746,312,4497,319]b_15 = [12357,156,2045,168]b_14 = [2358,399,2358,362]bar_width = 0.25x_14 = list(range(len(a)))x_15 = list(i+bar_width for i in x_14)x_16 = list(i+bar_width for i in x_15)# 设置图形大小plt.figure(figsize=(20,8),dpi=80)plt.bar(range(len(a)),b_14,width=bar_width,label="9月14日")plt.bar(x_15,b_15,width=bar_width,label="9月15日")plt.bar(x_16,b_16,width=bar_width,label="9月16日")# 设置图例plt.legend(prop=myfont)# 设置x轴刻度plt.xticks(x_15,a,fontproperties=myfont)plt.savefig("./mutiy.png")plt.show()
效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号