matplotlib绘制单个、多个、堆积、双向柱形图

总结,主要是bar以及barh的用法,画堆叠图时还得注意一下数据类型,是都是可加,如果不是,就是要np.array转化,还有竖图和横图间隔的设置,width和height,最后,数据都是最后的结果,数据值个数不能太多,一般不超过10个,如果是连续性数据,请先处理,然后再画图

一、单个柱形图

#构造数据
import pandas as pd 
import numpy as np
sabf = 27,53,81,103,138)
sa = 29,57,89,113,141)
ffd = 30,63,94,119,152)
index = np.arange5)
import matplotlib.pyplot as plt

单个直方图

plt.barindex,sabf,width=0.5,color='green')

 横向直方图

plt.barhindex,sabf,color='green',height=0.5)

 记住,bar用width宽,barh用height

二、多个柱形图

bar_width=0.2
plt.barindex,sabf,color='green',width=bar_width)
plt.barindex+bar_width,sa,color='blue',width=bar_width)
plt.barindex+bar_width+bar_width,ffd,color='yellow',width=bar_width)
plt.legend'sabf','sa','ffd'))
plt.xticksindex + 3 * bar_width / 3,'100', '200', '300', '400', '500'))

三、堆积柱形图

plt.barindex,sabf,color='green',bottom=0)
plt.barindex,sa,color='blue',bottom=sabf)
plt.barindex,ffd,color='yellow',bottom=np.arraysabf)+np.arraysa))  #要注意这个是否可以广播,也即是说是否可加(数学上的可加),不然会报错
plt.legend'sabf','sa','ffd'))
plt.xticksindex,'100', '200', '300', '400', '500'))

四、双向柱形图

plt.barhindex,sabf,color='green',height=0.5)
plt.barhindex,-np.arraysa),color='yellow',height=0.5)
plt.legend'sabf','sa'))

Published by

风君子

独自遨游何稽首 揭天掀地慰生平