本文实例为大家分享了python3使用matplotlib绘制条形图的具体代码,供大家参考,具体内容如下
绘制竖状条形图
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
from matplotlib import pyplot as plt from matplotlib import font_manager my_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() |
效果图
绘制横状条形图
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# 绘制横着的条形图 from matplotlib import pyplot as plt from matplotlib import font_manager my_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()方法,同时要注意它传参数的顺序是:
1
|
def barh(y, width, height = 0.8 , left = none, * , align = 'center' , * * kwargs): |
绘制多次条形图
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
from matplotlib import pyplot as plt from matplotlib import font_manager myfont = 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.25 x_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() |
效果图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_41009846/article/details/85017125