Python matplotlib绘制条形图及实例2

Python matplotlib绘制条形图及实例2

一、绘制多个条形图对比

##绘制多个条形图
from matplotlib import pyplot as plt
from matplotlib import font_manager

my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\STSONG.TTF')

a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]

bar_width=0.2
x_14 = list(range(len(a)))
x_15 = [i+bar_width for i in x_14]
x_16 = [i+bar_width for i in x_15]

plt.bar(x_14, b_14, width=0.2, label="9月14日")
plt.bar(x_15, b_15, width=0.2, label="9月15日")
plt.bar(x_16, b_16, width=0.2, label="9月16日")

##设置x轴刻度
plt.xticks(x_15, a, fontproperties=my_font)
plt.legend(prop=my_font)

plt.show()

Python matplotlib绘制条形图及实例2_第1张图片

二、绘制条形图要点

(1)柱状图bar()函数参数
bar()的构造函数:bar(x,height, width,align='center')

x:下标列表,比如上文中的a相当于这里的x。
height:柱子高度值列表,即x轴对应的高度数据,比如上文中的b相当于这里的height。
width:每个柱子的宽度。可以指定一个固定值,则所有柱子宽度相同;或者设置一个列表,令每个柱子宽度不同。
align:两种柱子对齐方式:centeredge,默认值是center。center表示每根柱子是根据下标来对齐;edge则表示每根柱子全部以下标为起点,显示到下标右边。

其他可选参数有:

color:每根柱子呈现的颜色。
edgecolor:每根柱子边框颜色。
linewidth:每根柱子的边框宽度。如果没有设置该参数,将使用默认宽度linewidth = 0,即默认是没有边框的。
tick_label:每根柱子上显示的标签,默认是没有内容。
… …

(2)柱状图图注参数

设置x轴刻度以及中文字体:plt.xticks(x, labs, fontproperties=my_font),其中my_font代指指定的中文字体。
设置不同柱状图的图注:plt.legend(prop=my_font),其中my_font代指指定的中文字体,英文字体可以不用单独设置。

你可能感兴趣的:(Python,之大数据绘图,python,数据分析)