Python气象数据处理与绘图(18):泰勒图

泰勒图绘制的核心思想是设计一个只有第一象限的极坐标,并将方差,相关系数进行捆绑,通过转化为极坐标系坐标进行绘制。为了实现泰勒图的绘制,我设计了两个函数:

set_tayloraxes(fig, location=111) 和plot_taylor(axes, refsample, sample, args, *kwargs)

set_tayloraxes()函数用于建立一个泰勒图的坐标系,这个自定义函数一般情况下不建议修改,每一个参数都是经过多次调试得到的,很可能牵一发动全身。因此,将绘图部分的独立成为了plot_taylor函数(),这部分函数较为简单,目的就是将需要绘图的数据,转换为极坐标系坐标,通过plot函数将散点打在泰勒图上,这个函数模块较为简单,可以根据自己的输入数据情况进行调整。

下面介绍下函数的具体用法:

setup_axes(fig, rect=111)

输入:

fig: 需要绘图的figure

rect:图的位置,如111为1行1列第一个,122为1行2列第2个

输出:

polar_ax:泰勒坐标系

plot_taylor(axes, refsample, sample, *args, **kwargs)

输入:

axes : setup_axes返回的泰勒坐标系

refsample :参照样本

sample :评估样本

args, *kwargs :plt.plot()函数的相关参数,设置点的颜色,形状等等。

下面给出示例:

fig = plt.figure(figsize=(10,4))
ax1 = set_tayloraxes(fig, 121)
ax2 = set_tayloraxes(fig, 122)
x = np.linspace(0,10*np.pi,100)
data = np.sin(x)                           
data1 = data + 0.4*np.random.randn(len(x))    
data2 = 0.3*data + 0.6*np.random.randn(len(x)) 
data3 = np.sin(x-np.pi/10)                  
d1 = plot_taylor(ax2,data,data1, c='b',marker = 'o')
d2 = plot_taylor(ax2,data,data2, c='r',marker = 'o')
d3 = plot_taylor(ax2,data,data3, c='g',marker = 'o')
taylor diagram

查看两个函数的源码点击这里

你可能感兴趣的:(Python气象数据处理与绘图(18):泰勒图)