简单的垂直条形图GDP=[12406.8,13908.57,9386.87,9143.64]#drawingplt.bar(range(4),GDP,align='center',color='steelblue',alpha=0.8)#addaxislabelplt.ylabel('GDP')#添加标题plt.title('GDP')#添加刻度标签plt.xticks(range(4),['北京','上海','天津','重庆'])#设置Y轴的刻度范围plt.ylim([5000,15000])#为每个条形图添加一个数值标签forx,yinenumerate(GDP):plt.text(x,y+100,'%s'%round(y,1),ha='center')plt.show()简单横条图#导入绘图模块importmatplotlib.pyplotasplt#构建数据price=[39.5,39.9,45.4,38.9,33.34]#绘图plt.barh(range(5),price,align='center',color='steelblue',alpha=0.8)#add轴标签plt.xlabel('price')#addtitleplt.title('Booksatdifferentprices')#addscalelabelplt.yticks(range(5),['Amazon','当当网','ChinaBooksNetwork','京东','天猫'])#设置Y轴的刻度范围plt.xlim([32,47])#For为每个条形图添加值标签forx,yinenumerate(price):plt.text(y+0.1,x,'%s'%y,va='center')plt.savefig('foo.png')#displayGraphicsplt.show()水平交错柱状图#导入绘图模块importmatplotlib.pyplotaspltimportnumpyasnpY2016=[15600,12700,11300,4270,3620]Y2017=[17400,14800,12000,5200,4020]labels=['北京','上海','香港','深圳','广州']bar_width=0.45#drawingplt.bar(np.arange(5),Y2016,label='2016',color='steelblue',alpha=0.8,width=bar_width)plt.bar(np.arange(5)+bar_width,Y2017,label='2017',color='indianred',alpha=0.8,width=bar_width)#添加坐标轴标签plt.xlabel('Top5City')plt.ylabel('Numberofhouseholds')#添加标题plt.title('BillionairesTop5Cities')#添加比例标签plt.xticks(np.arange(5)+bar_width,labels)#设置Y轴的比例范围plt.ylim([2500,19000])#为每个条形图添加数值标签forx2016,y2016inenumerate(Y2016):plt.text(x2016,y2016+100,'%s'%y2016,ha='center')forx2017,y2017inenumerate(Y2017):plt.text(x2017+bar_width,y2017+100,'%s'%y2017,ha='center')#显示图例plt.legend()plt.savefig('foo.png')#显示图形plt.show()垂直堆栈条形图#importmoduleimportmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspd#importdatatraffic_volume={'Index':['railway','green','watertransport','airtransport'],'Jan':[31058,255802,52244,57],'Feb':[28121,179276,46482,42],'Mar':[32185,285446,50688,59],'Api':[30133,309576,54728,57],'May':[30304,319713,55813,60],'君':[29934,320028,59054,58],'Jul':[31002,319809,57353,55],'Aug':[31590,331077,57583,57]}data=pd.DataFrame(traffic_volume)print(data)#drawingplt.bar(np.arange(8),data.loc[0,:][1:],color='red',alpha=0.8,label='railway',align='center')plt.bar(np.arange(8),data.loc[1,:][1:],bottom=data.loc[0,:][1:],color='green',alpha=0.8,label='highway',align='center')plt.bar(np.arange(8),data.loc[2,:][1:],bottom=data.loc[0,:][1:]+data.loc[1,:][1:],color='m',alpha=0.8,label='watertransport',align='center')plt.bar(np.arange(8),data.loc[3,:][1:],bottom=data.loc[0,:][1:]+data.loc[1,:][1:]+data.loc[2,:][1:],color='黑色',alpha=0.8,label='airtransport',align='center')#添加轴标签plt.xlabel('month')plt.ylabel('Cargovolume(10,000tons)')#添加标题plt.title('Monthlylogisticsvolumein2017')#添加一个刻度标签plt.xticks(np.arange(8),data.columns[1:])#设置Y轴的刻度范围plt.ylim([0,500000])#添加一个值为每个条形图标签为x_t,y_tinenumerate(data.loc[0,:][1:]):plt.text(x_t,y_t/2,'%sW'%(round(y_t/10000,2)),ha='center',color='white',fontsize=8)forx_g,y_ginenumerate(data.loc[0,:][1:]+data.loc[1,:][1:]):plt.text(x_g,y_g/2,'%sW'%(round(y_g/10000,2)),ha='center',color='white',fontsize=8)forx_s,y_sinenumerate(data.loc[0,:][1:]+data.loc[1,:][1:]+data.loc[2,:][1:]):plt.text(x_s,y_s-20000,'%sW'%(round(y_s/10000,2)),ha='center',color='white',fontsize=8)#Displaylegendplt.legend(loc='uppercenter',ncol=4)#Displaygraphicsplt.show()以上就是各种条形图的绘制方法,你掌握了吗?
