当前位置:首页>python>期刊图片复现|Python绘制堆叠面积图展示数据分布

期刊图片复现|Python绘制堆叠面积图展示数据分布

  • 2026-09-02 20:28:55
期刊图片复现|Python绘制堆叠面积图展示数据分布

代码绘制成果展示

论文:Spatial and racial/ethnic disparities in cardiovascular  mortality attributable to PM2.5 components in the  contiguous United States
论文原图
仿图
多种配色

代码解释

第一部分

库的导入以及字体设置
# =========================================================================================# ====================================== 1. 环境设置 =======================================# =========================================================================================import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom scipy.interpolate import make_interp_splinefrom matplotlib.ticker import MultipleLocator

第二部分

颜色库的设置以及配色方案的选择
# =========================================================================================# ======================================2.颜色库=======================================# =========================================================================================COLOR_SCHEMES = {    1: ['#5a0000', '#e62e1a', '#fedfcc', '#b8d3eb', '#6599cc', '#1f66a0'],}SCHEME_ID = 60  #使用的配色方案colors = COLOR_SCHEMES.get(SCHEME_ID, COLOR_SCHEMES[1])  #获取颜色

第三部分

绘制函数:画布初始化与堆叠图绘制
# =========================================================================================# ======================================3.绘制函数======================================# =========================================================================================def draw_custom_plot(df, save_path=""):    # 创建画布    fig, ax = plt.subplots(figsize=(8, 8))    years = df.index  #获取年份数据,x轴    components = ['BC', 'NH4+', 'NO3-', 'OM', 'SO42-', 'DUST']  # 定义需要堆叠的数据名称    labels = ['BC', r'NH$_4^+$', r'NO$_3^-$', 'OM', r'SO$_4^{2-}$', 'DUST']  #图例名称    y_stack = [df[c].values for c in components]  #提取数据

第四部分

绘制函数:绘制总量线和置信区间
    #绘制折线图    ax.plot(years,  #x            df['Total'],  #y            color='black',  #颜色            linewidth=2.0,  #宽度            label='Deaths',  #图例标签            zorder=10)  #图层顺序    #绘制置信区间上界    ax.plot(years,  #x            df['CI_Upper'],  #y            color='black',  #颜色            linestyle='--',  #样式            zorder=10)  #图层顺序    #绘制置信区间下界    ax.plot(years,  #x            df['CI_Lower'],  #y            color='black',  #颜色            zorder=10)  #图层顺序

第五部分

绘制函数:坐标轴刻度与边框设置
    #设置刻度参数    ax.tick_params(axis='both',  #作用于x轴和y轴                   which='major',  #主刻度                   direction='out',  #朝外                   length=6,  #长度                   width=2,  #宽度                   labelsize=11)  #字体大小    #设置刻度参数    ax.tick_params(axis='both',  #作用于x轴和y轴                   which='minor',  #次刻度                   direction='out',  #朝外                   length=3,  #长度                   width=1.5)  #宽度    #设置x轴次刻度间隔    ax.xaxis.set_minor_locator(MultipleLocator(1))    # 设置y轴次刻度间隔    ax.yaxis.set_minor_locator(MultipleLocator(5))    #设置边框线宽    ax.spines['left'].set_linewidth(2)    ax.spines['bottom'].set_linewidth(2)    #隐藏边框    ax.spines['top'].set_visible(False)    ax.spines['right'].set_visible(False)

第六部分

绘制函数:图例设置
    handles, labels_all = ax.get_legend_handles_labels()  #获取当前图表的所有图例句柄和标签    ax.legend(final_handles,  #调整后的句柄              final_labels,  #调整后的标签              frameon=False,  #不显示图例边框              loc='upper right',  #右上角              fontsize=11)  #字体大小    plt.tight_layout()  #自动调整子图参数

第七部分

执行部分,负责数据加载、数据处理及平滑并调用绘图函数。
# =========================================================================================# ======================================4.执行部分======================================# =========================================================================================if __name__ == "__main__":    INPUT_EXCEL_PATH = r"data.xlsx"  #输入文件    OUTPUT_DIR = r"堆叠面积图"  #输出文件    SWITCH_SMOOTH = 0  #是否开启平滑    #读取文件    raw_df = pd.read_excel(INPUT_EXCEL_PATH)    raw_df.set_index('Year', inplace=True)  #设置为索引    target_df = smooth_df if SWITCH_SMOOTH else raw_df    #调用绘图函数进行绘图    draw_custom_plot(target_df, save_path=OUTPUT_DIR)

如何应用到你自己的数据

1.设置配色:

SCHEME_ID = 60  #使用的配色方案

2.设置堆叠图数据的部分:

components = ['BC', 'NH4+', 'NO3-', 'OM', 'SO42-', 'DUST'] 

3.设置原始数据文件的路径:

INPUT_EXCEL_PATH = r"data.xlsx"  #输入文件

4.设置结果文件的路径:

OUTPUT_DIR = r"堆叠面积图"  #输出文件

5.设置是否要开启数据平滑处理:

SWITCH_SMOOTH = 0  #是否开启平滑

推荐

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

获取方式

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

最新文章

随机文章