南丁格尔玫瑰图绘制模型参数敏感性分析结果

南丁格尔玫瑰图绘制模型参数敏感性分析结果_第1张图片
数据如上
代码如下

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel(r'E:\SIMLAB_file\敏感性结果.xlsx',sheet_name=0)
fig = plt.figure(figsize=(30,20))
#极坐标
ax = plt.subplot(projection='polar')
#逆时针1顺时针-1
ax.set_theta_direction(1)
#正上方角度NSWE东南西北
ax.set_theta_zero_location('N')
#数据,仅用了前20个
r = data['TSOW'][:20]*8000
theta = np.linspace(0, np.pi*2, len(r), endpoint=False)# 0-360,等差分成len(r)份
radius_maxmin = (r-r.min())/(r.max()-r.min()) # 归一化数据
# 绘制柱状图
bar = ax.bar(theta,r,width=2*np.pi/(len(r)), align='edge',bottom=80)
#圆心文本
ax.text(np.pi/2+0.3, 70, 'first', fontsize=14)
# 每个柱顶部显示文本大小
for angle,height,text in zip(theta, r, map(lambda x,y : x+' '+str(y), data['canshu'], data['TSOW'])):
    ax.text(angle+0.4, height+height*0.15, text, fontsize=height/100)
# 绘制颜色
for c, bar in zip(radius_maxmin, bar):
    bar.set_facecolor(plt.cm.spring_r(c))  
    bar.set_alpha(0.8)
#不显示坐标轴网格线
plt.axis('off')
plt.tight_layout()
plt.show()

结果如图,不是太漂亮,不过将就着看吧!
南丁格尔玫瑰图绘制模型参数敏感性分析结果_第2张图片

你可能感兴趣的:(南丁格尔玫瑰图绘制模型参数敏感性分析结果)