I、柱状图
1、pyplot.bar函数
matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
2、主要参数说明
3、官方文档直达链接
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.bar.html?highlight=bar#matplotlib.pyplot.bar
4、相关代码测试
①、图形1
import matplotlib.pyplot as plt import matplotlib.mlab as mlab import seaborn as sns import numpy as np import pandas as pd ''' matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)[source] ''' # 解决中文不能在图片中显示的问题 plt.rcParams['font.sans-serif'] = ['SimHei'] x_data = ['2011', '2012', '2013', '2014', '2015', '2016', '2017'] y_data = [58000, 60200, 63000, 71000, 84000, 90500, 107000] y_data2 = [52000, 54200, 51500, 58300, 56800, 59500, 62700]
# x表示起始位置 plt.bar(x=x_data, height=y_data, ) plt.show()
②、图形2
# height只是代表高度,不代表数值,width代表宽度比例,因此范围是0-1,bottom代表y轴启始值 plt.bar(x=x_data, height=y_data, width=0.5, bottom=100000) plt.show()
③、图形3
# 多个柱值叠加 plt.bar(x_data, y_data) plt.bar(x_data, y_data2) plt.show()
④、图形4
# 多个柱并列 # 因为原始值是字符串类型,无法将x轴进行偏倚,所以先转换成普通值,后面使用tick_label修改命名即可 x_range = np.arange(7) plt.bar(x=x_range, height=y_data, width=0.3, tick_label=x_data)
# x只表示位置关系,因此加上0.3,等于将图像偏移0.3 plt.bar(x=x_range+0.3, height=y_data2, width=0.3) plt.show()
⑤、图形5
# 绘制水平柱状图 x_range = np.arange(7)
# 使用barh函数 plt.barh(x_range, y_data, tick_label=x_data, color='y') plt.show()