Python画泰勒图
1. 安装画泰勒图的库
pip install SkillMetrics
SkillMetrics库在图的设置细节(模型标记符号、colorbar)有很多不足,比如无法按颜色区分每个散点。
注意!!!
提前算好数据的标准差、相关系数和中心化均方根误差(RMSD)
STDs、RMSs 和 CORs 这三个输入数组必须是一维的,并且它们的长度相同。它们的第一个元素(索引为 0 的值)是 参考序列(Reference Series) 的统计量,而剩下的元素(从索引 1 开始)是其他需要比较的序列的统计量。
2. 绘制基础泰勒图
import skill_metrics as sm# 开始绘图
sm.taylor_diagram(np.array(stddev1), np.array(rmse_values), np.array(correlation_coeffs))
# text_font = {'size': '15', 'weight': 'bold', 'color': 'black'}
# plt.title("Example01 Of taylor_diagram() in Python", fontdict=text_font, pad=35)
# 显示图形
plt.show()
效果图
3. 按散点形状画泰勒图
import skill_metrics as sm# 开始绘图
sm.taylor_diagram(np.array(stddev1), np.array(rmse_values), np.array(correlation_coeffs), markerLabel=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13'],markerLegend='on',markercolor='r',markerSize=6)
# text_font = {'size': '15', 'weight': 'bold', 'color': 'black'}
# plt.title("Example01 Of taylor_diagram() in Python", fontdict=text_font, pad=35)
# 显示图形
plt.show()
注意:markerLabel列表长度要和散点个数一致;自带了10种符号,超过10种用颜色区分
效果图:
4. 修改泰勒图线条
import skill_metrics as sm
fig,ax = plt.subplots(figsize=(4,3.5),dpi=100,facecolor="w")
sm.taylor_diagram(sdev,crmsd,ccoef,markerLabel=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13'],markercolor="k",markerSize=6,markerLegend = 'on',colCOR="k",styleCOR="--",widthCOR=.9,colSTD="b",widthSTD=.9,styleSTD="--",widthRMS=.9,colOBS="r",styleOBS="-",widthOBS=1,markerObs="^",titleOBS="Observation")
ax.grid(False)
fig.tight_layout()
plt.show()
效果图: