当前位置:首页>python>Nature 期刊图复现 | Python 实现多情景生态抗性六边形频数回归图

Nature 期刊图复现 | Python 实现多情景生态抗性六边形频数回归图

  • 2026-06-27 18:59:42
Nature 期刊图复现 | Python 实现多情景生态抗性六边形频数回归图

来源论文

论文地址:

https://www.nature.com/articles/s41586-025-09788-0

论文题目:

Land-use change undermines the stability of avian functional diversity

原图释(英):

To understand whether functional resistance arises from total species richness or from the degree of trait overlap among species, we decomposed functional redundancy into two components: species richness and the average trait space overlap per species (relative redundancy). To test whether niche overlap alone can explain variation in assemblage resistance, we modelled the relationship between relative redundancy and functional resistance. a-c, Panels show the results of linear models assessing the relationship between relative redundancy and functional resistance when extinction curves are generated by general trait-based sensitivity scores (a), climate sensitivity scores (b), and through a passive (probability-weighted) species loss procedure (c; see Methods). Under scenarios a and b, a species is removed at each time step; in c, this procedure is relaxed so that species with low sensitivity can survive indefinitely. Each point represents a species assemblage (n = 1281); colour scale indicates level of overlap from low density (purple) to high density (yellow). Results shown are the coefficient estimate from three separate linear models (red line) alongside the 95% confidence intervals (shaded area). Functional resistance and relative redundancy are positively related under each scenario suggesting that functional resistance is driven by relative redundancy per species rather than species richness alone.

原图释(中):

为探究功能抵抗力究竟源于物种总丰富度,还是物种间性状重叠程度,我们将功能冗余拆解为两个组分:物种丰富度,以及单个物种在性状空间中的平均重叠度(即相对冗余度)。为验证仅生态位重叠能否解释群落抵抗力的差异,我们构建模型分析了相对冗余度与功能抵抗力之间的关联。图 a–c 为线性模型分析结果,分别对应三种灭绝情景下相对冗余度与功能抵抗力的关系:基于通用性状敏感度得分构建灭绝曲线(图 a)、基于气候敏感度得分构建灭绝曲线(图 b)、采用被动式(概率加权)物种流失方案(图 c,详见研究方法)。情景 a、b 中,每一时间步均会移除一个物种;情景 c 则放宽该规则,敏感度低的物种可长期存续。图中每个散点代表一个生物群落(样本量n=1281);颜色梯度表示数据密度,从低密度(紫色)到高密度(黄色)。图中红线为三组独立线性模型的回归系数估计值,阴影区域为95% 置信区间。三种情景下,功能抵抗力与相对冗余度均呈正相关。这表明:群落的功能抵抗力主要由物种个体层面的相对冗余度决定,而非单纯取决于物种丰富度。

复现图片

在生态学与进化生物学研究中,理解生物多样性对生态系统功能(如功能抗性 Functional resistance)的驱动机制至关重要。传统的散点图(Scatter Plot)在面对海量大样本数据时,常因数据点严重重叠(Overplotting)而失去信息表达力。

本文复现的图表采用 六边形频数分箱图(Hexagonal Binning Plot),将二维空间划分为均匀的六边形单元,以颜色深浅表征群落样本的分布密度,并在此基础上叠加了线性回归模型(Linear Model)及 95% 置信区间。该图表能够在大数据量下清晰展现自变量(如相对冗余度 Relative redundancy)与因变量之间的极显著正相关趋势,揭示生态系统抗性是由物种间的生态位重叠驱动,而非单纯取决于物种丰富度。

配色方案

COLOR_PALETTES = {    1:  {"cmap""viridis",       "line""#FF2E17""ci""#CCCCCC"},  # 鲜红拟合线 + 经典浅灰置信区间阴影,最符合您最初的视觉样式    2:  {"cmap""magma",         "line""#009E73""ci""#56B4E9"},  # Cell/Lancet风格: 深紫到亮黄渐变,适合高密度高对比度的数据表达    3:  {"cmap""plasma",        "line""#0072B2""ci""#CC79A7"},  # Ecology/Evolution: 蓝紫红黄渐变,常用于展示连续的生态梯度和环境变化    4:  {"cmap""inferno",       "line""#56B4E9""ci""#999999"},  # Scientific Reports: 黑红黄高亮度色系,非常适合物理学与材料科学高密度图    5:  {"cmap""cividis",       "line""#E69F00""ci""#0072B2"},  # PNAS出版标准: 专为严重色盲群体优化的色系,具有极其严格的视觉线性度    6:  {"cmap""mako",          "line""#FF6B6B""ci""#CCCCCC"},  # AGU地球物理期刊: 深蓝到浅青渐变,适合表现海洋、大气及地球物理场    7:  {"cmap""rocket",        "line""#1A85FF""ci""#D3D3D3"},  # Bioinformatics: 暗紫到亮橙渐变,常用于高通量测序表达量与热图展示    8:  {"cmap""crest",         "line""#D55E00""ci""#E5E5E5"},  # Global Change Biology: 浅绿到深蓝生态色系,适合地理信息与气候变化研究    9:  {"cmap""flare",         "line""#005AB5""ci""#DC3220"},  # GCB/Oikos: 金黄到深红渐变,适合表达热度、抗性或物种灭绝速率特征    10: {"cmap""icefire",       "line""#E66101""ci""#5E3C99"},  # Nature Climate Change: 冷暖极端对比色系,适用于双向对称偏离的连续变量    11: {"cmap""vlag",          "line""#2C7BB6""ci""#D7191C"},  # Plos One: 经典的蓝白红发散色系,用于直观展示正负相关性或差异表达    12: {"cmap""coolwarm",      "line""#313695""ci""#A50026"},  # IPCC气候报告标准: 发散型冷暖色系,用于温度异常、气候预测等指标对比    13: {"cmap""YlGnBu",        "line""#E31A1C""ci""#B2DF8A"},  # Hydrology/Water Research: 黄绿蓝渐变,水文学及水资源环境领域标准科研配色    14: {"cmap""Purples",       "line""#FF7F00""ci""#CAB2D6"},  # Cancer Research: 单色单向紫渐变,适合高特异性肿瘤病理指标或单动力学表达    15: {"cmap""Blues",         "line""#E31A1C""ci""#A6CEE3"},  # Marine Biology: 单色单向蓝渐变,适合展现随水深或海洋盐度递增的环境参数    16: {"cmap""GnBu",          "line""#FF7F00""ci""#FDBF6F"},  # Environmental Science: 绿蓝发散渐变,常用于环境毒理学与污染梯度分析    17: {"cmap""PuBuGn",        "line""#E31A1C""ci""#B15928"},  # Landscape Ecology: 紫蓝绿三色渐变,适用于景观生态学中复杂的异质性分布图    18: {"cmap""cubehelix",     "line""#DC3220""ci""#7C7C7C"},  # Astronomy & Astrophysics: 宇宙螺旋色系,保证在转化为灰度图后明暗信息完全保留    19: {"cmap""YlOrRd",        "line""#1F78B4""ci""#FFD92F"},  # Soil Biology & Biochemistry: 黄橙红渐变,适合表现土壤酶活性及热量传导    20: {"cmap""spectral",      "line""#000000""ci""#DDDDDD"}   # Remote Sensing/MDPI: 广谱彩虹发散色系,广泛应用于多光谱遥感与大尺度成像}

完整代码(模拟数据)

import osimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom scipy import stats# ==============================================================================# 主流期刊标准学术配色方案字典 (20种)# ==============================================================================COLOR_PALETTES = {    1:  {"cmap""viridis",       "line""#FF2E17""ci""#CCCCCC"},  # 鲜红拟合线 + 经典浅灰置信区间阴影,最符合您最初的视觉样式}# 设定当前使用的方案索引(选择1)SELECTED_PALETTE_INDEX = 1def plot_from_excel_only(excel_path='data.xlsx'):    output_dir = '图表'    output_image_name = 'functional_resistance_vs_redundancy.png'    output_path = os.path.join(output_dir, output_image_name)    if not os.path.exists(excel_path):        raise FileNotFoundError(f"未找到 '{excel_path}' 文件,请确保该文件已存在。")    os.makedirs(output_dir, exist_ok=True)    print("正在从 Excel 读取数据并实时计算统计指标...")    try:        sheets = {            'a': pd.read_excel(excel_path, sheet_name='Panel_a'),            'b': pd.read_excel(excel_path, sheet_name='Panel_b'),            'c': pd.read_excel(excel_path, sheet_name='Panel_c')        }    except Exception as e:        print(f"读取 Excel 失败,请确保工作表名称精确为: Panel_a, Panel_b, Panel_c。")        print(f"具体错误信息: {e}")        return    # 应用选定的期刊配色方案    palette = COLOR_PALETTES[SELECTED_PALETTE_INDEX]    cmap_chosen = palette["cmap"]    line_color = palette["line"]    ci_color = palette["ci"]    plt.rcParams['font.sans-serif'] = ['DejaVu Sans''Arial''Microsoft YaHei']    plt.rcParams['axes.unicode_minus'] = False    fig, axes = plt.subplots(13, figsize=(165.5), sharey=True)    fig.patch.set_facecolor('white')    fig.subplots_adjust(wspace=0.06)    for i, label in enumerate(['a''b''c']):        ax = axes[i]        df = sheets[label]        if 'Relative_redundancy' not in df.columns or 'Functional_resistance' not in df.columns:            raise KeyError(f"Sheet 'Panel_{label}' 中必须包含 'Relative_redundancy' 和 'Functional_resistance' 两列。")        x_val = df['Relative_redundancy'].dropna().values        y_val = df['Functional_resistance'].dropna().values        n_samples = len(x_val)        if n_samples < 2:            print(f"警告:Sheet 'Panel_{label}' 中的有效数据量过少,无法进行回归拟合。")            continue        ax.set_facecolor('white')        ax.grid(True, color='#E5E5E5', linestyle='-', linewidth=1.0)        ax.set_axisbelow(True)        # 使用选定的色系绘制六边形频数图        hb = ax.hexbin(x_val, y_val, gridsize=28, cmap=cmap_chosen, mincnt=1, edgecolors='none')        # 基于真实数据计算回归指标        slope, intercept, r_value, p_value, std_err = stats.linregress(x_val, y_val)        x_range = np.linspace(x_val.min(), x_val.max(), 100)        y_pred = slope * x_range + intercept        # 计算 95% 置信区间        y_actual_pred = slope * x_val + intercept        residual_std = np.sqrt(np.sum((y_val - y_actual_pred) ** 2) / (n_samples - 2))        x_mean = np.mean(x_val)        ss_x = np.sum((x_val - x_mean) ** 2)        se_y = residual_std * np.sqrt(1 / n_samples + (x_range - x_mean) ** 2 / ss_x)        ci = 1.96 * se_y        # 使用选定方案的置信区间颜色与回归线颜色进行绘制        ax.fill_between(x_range, y_pred - ci, y_pred + ci, color=ci_color, alpha=0.5, zorder=3)        ax.plot(x_range, y_pred, color=line_color, linewidth=2.5, zorder=4)        ax.text(0.050.94f"Coefficient estimate: {slope:.2f}", transform=ax.transAxes, fontsize=12, va='top')        p_text = "p < 0.001" if p_value < 0.001 else f"p = {p_value:.3f}"        ax.text(0.050.86, p_text, transform=ax.transAxes, fontsize=12, va='top')        ax.text(0.920.94, label, transform=ax.transAxes, fontsize=20, va='top', fontweight='bold')        ax.set_xlim(x_val.min() - 0.5, x_val.max() + 0.5)        ax.tick_params(axis='both', which='major', labelsize=12, colors='#333333')        for spine in ax.spines.values():            spine.set_color('#CCCCCC')            spine.set_linewidth(1)    all_y = np.concatenate([sheets['a']['Functional_resistance'].dropna(),                            sheets['b']['Functional_resistance'].dropna(),                            sheets['c']['Functional_resistance'].dropna()])    if len(all_y) > 0:        axes[0].set_ylim(all_y.min() - 0.5, all_y.max() + 0.5)    fig.text(0.50.02'Relative redundancy', ha='center', va='center', fontsize=15)    fig.text(0.0150.5'Functional resistance', ha='center', va='center', rotation='vertical', fontsize=15)    plt.tight_layout()    fig.subplots_adjust(bottom=0.12, left=0.06, right=0.98, top=0.95)    plt.savefig(output_path, dpi=300)    plt.close()    print(f"绘图成功,最终图表已导出至: {output_path}")if __name__ == '__main__':    plot_from_excel_only('data.xlsx')

数据获取

评论+私信获取

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 15:04:23 HTTP/2.0 GET : https://f.mffb.com.cn/a/499307.html
  2. 运行时间 : 0.394360s [ 吞吐率:2.54req/s ] 内存消耗:4,763.46kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=02044fa51cc062766b7d33ec237d4449
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000429s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000883s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.011261s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002301s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000771s ]
  6. SELECT * FROM `set` [ RunTime:0.001935s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000827s ]
  8. SELECT * FROM `article` WHERE `id` = 499307 LIMIT 1 [ RunTime:0.022967s ]
  9. UPDATE `article` SET `lasttime` = 1783062263 WHERE `id` = 499307 [ RunTime:0.001632s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000299s ]
  11. SELECT * FROM `article` WHERE `id` < 499307 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000610s ]
  12. SELECT * FROM `article` WHERE `id` > 499307 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.030600s ]
  13. SELECT * FROM `article` WHERE `id` < 499307 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.015980s ]
  14. SELECT * FROM `article` WHERE `id` < 499307 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.009447s ]
  15. SELECT * FROM `article` WHERE `id` < 499307 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.222065s ]
0.396876s