- 柱状图在气象数据的诊断分析中,用来分析各项的贡献程度,具有明显的数量变化效果
- 记录一些绘制柱状图中常用的参数设置,以及效果展示
- 绘制正负结果区分的柱状图主要用到
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],['柱形']) #添加图例
|