- 柱状图在气象数据的诊断分析中,用来分析各项的贡献程度,具有明显的数量变化效果
- 记录一些绘制柱状图中常用的参数设置,以及效果展示
- 绘制正负结果区分的柱状图主要用到
np.where()
函数 - 柱状图的绘制依靠两个命令
ax.bar()、ax.barh()
,其中前一个绘制出柱体是竖直的,后一个的柱体是水平的 - 柱状图的绘制要求数据一般是整形的
结果展示:
代码如下:
""" Created on %(date)s @author: %(jixianpu)s Email : 211311040008@hhu.edu.cn introduction : keep learning althongh walk slowly """ import numpy as np import matplotlib.ticker as mticker import matplotlib.pyplot as plt ########################################################################### plt.rcParams['font.sans-serif']=['SimHei']#中文 plt.rcParams['axes.unicode_minus']=False #显示负号 # ####################################data################################# y=np.arange(-10,10) x=np.arange(2000,2020) # ####################################draw################################# fig=plt.figure(figsize=(5,7),dpi=500)#添加画布等 ax=fig.add_axes([0,0,1,0.3]) bar1=ax.bar(x,y, color=np.where(y>0,'r','b'), #判断大于0的为红色,负的为蓝色 width=0.55, #柱形宽度 align='edge', #柱形的位置edge/center alpha=0.8, #柱形透明度 hatch='*', #柱形表明的形状样式 edgecolor='k',#柱形边缘颜色 bottom=0.01 #柱形离底部的距离 ) ########################################################################## ax.set(xlim=(1999,2021),ylim=(-11,11)) #设置x、y轴的最大最小范围 ax.set_xticks(np.linspace(2000, 2020, 5)) #设置x轴显示的标签 ax.text(2010,-3,'某个阈值') #添加注释 ax.axhline(y=0,c='k',ls=':',lw=1) #添加水平线,设置颜色,位置,水平线的style #设置轴的参数,间隔 ax.tick_params(axis='both',which='both',direction='in') ax.yaxis.set_minor_locator(mticker.MultipleLocator(5)) ax.xaxis.set_minor_locator(mticker.MultipleLocator(5)) # 设置label ax.set_xlabel('年份') ax.set_ylabel('数值') ax.set_title('柱状图',fontsize=10) ax.legend([bar1],['柱形']) #添加图例