当前位置:首页>python>Python绘制平滑曲线雷达图

Python绘制平滑曲线雷达图

  • 2026-09-10 01:23:54
Python绘制平滑曲线雷达图

代码绘制成果展示

论文:A deep learning framework for efficient pathology image analysis
论文原图
魔改版
多种配色

代码解释

第一部分

库的导入以及字体设置
# =========================================================================================# ====================================== 1. 环境设置 =======================================# =========================================================================================import numpy as npimport pandas as pdimport matplotlib.pyplot as plt

第二部分

设置颜色库
# =========================================================================================# ======================================2.颜色库=======================================# =========================================================================================COLOR_SCHEMES = {    1: ['#C83E4D', '#F4B38C', '#D0E1F9', '#85C1E9', '#2E86C1', '#5A306D', '#C45B90', '#8B3E4F'],}

第三部分

绘图函数:数据准备与变量初始化
# =========================================================================================# ======================================3.绘图函数=======================================# =========================================================================================def plot_advanced_forest_chart(df_real, scheme_id):    selected_colors = COLOR_SCHEMES[scheme_id]  #获取颜色方案    color_eagle, color_chief, color_gigapath, color_ctranspath, color_virchow2, color_morphology, color_biomarkers, color_prognosis = selected_colors  #分配颜色    label_colors = df_real['Label_Color'].map(category_color_map).tolist()  #匹配标签颜色    min_vals = df_real['Min_Val'].tolist()  #最小值    max_vals = df_real['Max_Val'].tolist()  #最大值    num_vars = len(labels)  #变量数

第四部分

绘图函数:创建画布以及布局设置
    #创建画布    fig, ax = plt.subplots(figsize=(15, 15), subplot_kw=dict(polar=True))    ax.set_theta_offset(np.pi / 2)  #起点    ax.set_theta_direction(-1)  #顺时针方向    ax.set_xticks(angles[:-1])  #设置x轴刻度    ax.set_xticklabels([])  #去掉x轴标签    #网格线    ax.xaxis.grid(True,  #开启                  color=radial_line_color,  #网格线颜色                  linestyle='-',  #样式                  linewidth=radial_line_width)  #线宽

第五部分

绘图函数:绘制平滑曲线与数据点标注
    #打包数据    models_data = [        (data_eagle, color_eagle, 'EAGLE'),        (data_chief, color_chief, 'CHIEF'),        (data_gigapath, color_gigapath, 'GigaPath'),        (data_ctranspath, color_ctranspath, 'CTransPath'),        (data_virchow2, color_virchow2, 'Virchow2')    ]    ax.plot(angles_dense,  #x                data_dense,  #y                color=color,  #颜色                linewidth=line_width,  #线宽                label=label)  #标签

第六部分

绘图函数:绘制外圈标签与图例配置
    #遍历添加外圈标签    for i, (angle, label_text, color) in enumerate(zip(angles[:-1], labels, label_colors)):     #右上角图例    legend_elements = [Line2D([0],  #x                              [0],  #y                              color=c,  #颜色                              lw=3,  #线宽                              label=l) for _, c, l in models_data]  #遍历生成所有图例    leg = ax.legend(handles=legend_elements,  #句柄                    loc='upper right',  #位置                    bbox_to_anchor=(1.15, 1.05),  #坐标                    fontsize=11,  #字号                    frameon=True,  #边框                    borderpad=0.8)  #内边距    ax.add_artist(leg)  #添加图例

第七部分

执行部分
# =========================================================================================# ======================================4.执行部分=======================================# =========================================================================================if __name__ == '__main__':    df_real = pd.read_excel(r'data.xlsx')  #读取数据    scheme_id = 1    selected_hex_colors = COLOR_SCHEMES[scheme_id]    print('正在绘制并保存方案:', scheme_id)    plot_advanced_forest_chart(df_real, scheme_id)

如何应用到你自己的数据

1.设置原始数据的保存路径,执行部分:

df_real = pd.read_excel(r'data.xlsx')  #读取数据

2.设置是否进行批量绘图,执行部分:

plot_all = True

3.设置要进行绘图的数据列,绘图函数部分:

data_eagle = close_line(df_real['EAGLE'].values)data_chief = close_line(df_real['CHIEF'].values)data_gigapath = close_line(df_real['GigaPath'].values)data_ctranspath = close_line(df_real['CTransPath'].values)data_virchow2 = close_line(df_real['Virchow2'].values)

4.设置绘图结果的保存地址,绘图函数部分:

plt.savefig(fr'Scheme_{scheme_id}.png', dpi=300,bbox_inches='tight')

推荐

期刊图片复现|Python绘制二维偏依赖PDP图
期刊复现|python绘制基于SHAP分析和GAM模型拟合的单特征依赖图
期刊图片复现|python绘制带有渐变颜色shap特征重要性组合图(条形图+蜂巢图)
期刊复现|用Python绘制SHAP特征重要性总览图、依赖图、双特征交互效应SHAP图,解锁XGBoost模型的终极奥秘
期刊图片复现|Python绘制shap重要性蜂巢图+单特征依赖图+交互效应强度气泡图+交互效应依赖图(回归+二分类+分类)

获取方式

公众号中的所有所有的免费代码都已经下架了,都并入到付费部分里了,付费合集代码和数据的购买通道已经开通,全部合集150元,无后续收费,目前包含270+篇代码+数据+参考论文,后续将会持续更新,决定购买请后台私信我,注意只会分享练习数据、参考论文和代码文件,仅提供有关代码的答疑,不会提供其他答疑服务,代码文件中已经包含了每行代码的完整注释,购买前请确保真的需要!!!

最新文章

随机文章