#!usr/bin/env python
#-*- coding:utf-8 _*-
'''
@author:Administrator
@file: matplot-zhuzhuang-demo.py
@time: 2019-12-29 下午 5:52
'''
from matplotlib import pyplot as plt
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]
#windows下设置字体
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
#设置图形大小
plt.figure(figsize=(10,5),dpi=80)
#绘制条形图
plt.bar(range(len(a)),b,width=0.3);
#设置字符串到x轴,x轴的标签与x轴的数据绑定
plt.xticks(range(len(a)),a,rotation=90)
plt.savefig("./movie.png")
plt.show()
案例二:将xy轴互换:绘制条形图,注意barh(x,x,height=x),yticks两个函数的使用
#!usr/bin/env python
#-*- coding:utf-8 _*-
'''
@author:Administrator
@file: matplot-zhuzhuang-demo01.py
@time: 2019-12-29 下午 6:04
'''
from matplotlib import pyplot as plt
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]
#windows下设置字体
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
#设置图形大小
plt.figure(figsize=(20,9),dpi=80)
#绘制条形图,注意barh(x,x,height=x),yticks两个函数的使用
plt.barh(range(len(a)),b,height=0.3);
#设置字符串到x轴,x轴的标签与x轴的数据绑定
#plt.xticks(range(len(a)),a,rotation=90)
plt.yticks(range(len(a)),a)
#plt.savefig("./movie.png")
plt.grid(alpha=0.3)
plt.show()
结果:
案例三:设置x轴的刻度,难点注意 x_3比x_2比x_1 分别都多一个bar_width,这样才能,三条柱子紧邻在一起
# -*- coding: utf-8 -*-
# @File : matplot-zhexian-demo3.py
# @Date : 2019-12-30 10:57
# @Author : admin
from matplotlib import pyplot as plt
from matplotlib import font_manager
#windows中的解决办法
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
b_1 = [15746,312,4497,319]
b_2 = [12357,156,2045,168]
b_3 = [2358,399,2358,362]
bar_width=0.2 #设置柱状图的宽度
#设置x轴的刻度,难点注意 x_3比x_2比x_1 分别都多一个bar_width,这样才能,三条柱子紧邻在一起
x_1=list(range(len(a)))
x_2=[i+bar_width for i in x_1]
x_3=[i+bar_width*2 for i in x_1]
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.bar(x_1,b_1,width=bar_width,label="9月14日") #label可以在legend显示
plt.bar(x_2,b_2,width=bar_width,label="9月15日")
plt.bar(x_3,b_3,width=bar_width,label="9月16日")
#设置图例
plt.legend(loc="upper left")
#设置x轴的刻度
plt.xticks(x_1,a)
plt.show()
来源:CSDN
作者:健康平安的活着
链接:https://blog.csdn.net/u011066470/article/details/103756057