当前位置:首页>python>一起学Python第99天:Matplotlib+Seaborn数据可视化实战

一起学Python第99天:Matplotlib+Seaborn数据可视化实战

  • 2026-06-12 12:22:42
一起学Python第99天:Matplotlib+Seaborn数据可视化实战
欢迎来到【一起学Python】第99天!
今天我们迎来数据分析的"颜值担当"——数据可视化
掌握 Matplotlib 和 Seaborn,你就能将枯燥的数字转化为直观的图表,让数据趋势、分布和关系一目了然,真正让数据"开口说话"!

Matplotlib 基础绘图:可视化的"瑞士军刀"

Matplotlib 是 Python 最基础的绘图库,功能强大、灵活可控,是数据可视化的基石。

环境配置(避免中文乱码)

import matplotlibmatplotlib.use('TkAgg')  # 或 'Qt5Agg',根据系统选择import matplotlib.pyplot as pltimport pandas as pdimport numpy as np# 🎯 关键设置:支持中文显示plt.rcParams['font.sans-serif'] = ['SimHei''Arial Unicode MS''DejaVu Sans']  # 中文字体plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

💡 字体选择:Windows 用 'SimHei',Mac 用 'Arial Unicode MS',Linux 用 'DejaVu Sans'    

柱状图:对比分类数据

# 创建示例数据df = pd.DataFrame({    'Year': [2017, 2018, 2019, 2020, 2021],    'Sales': [150, 200, 250, 300, 350]})# 绘制柱状图plt.figure(figsize=(10, 5))  # 设置画布大小(英寸)plt.bar(df['Year'], df['Sales'],         color='skyblue',      # 柱子颜色        edgecolor='navy',     # 边框颜色        alpha=0.8)            # 透明度plt.title('年度销售额趋势', fontsize=16, fontweight='bold')plt.xlabel('年份', fontsize=12)plt.ylabel('销售额(万元)', fontsize=12)plt.xticks(rotation=45)       # 旋转x轴标签plt.grid(axis='y', alpha=0.3) # 仅显示y轴网格plt.tight_layout()            # 自动调整布局plt.show()

美化技巧

  • figsize=(宽, 高) 控制图形大小
  • alpha 控制透明度(0-1)
  • edgecolor 添加边框增强立体感
  • tight_layout() 防止标签被裁剪

折线图:展示时间序列趋势

# 创建月度气温数据df_line = pd.DataFrame({    'Month': ['1月''2月''3月''4月''5月''6月'],    'Temperature': [303235282530]})plt.figure(figsize=(105))plt.plot(df_line['Month'],          df_line['Temperature'],         marker='o',           # 数据点标记         markersize=8,         # 标记大小         linestyle='-',        # 线型         linewidth=2,          # 线宽         color='orange',         label='月均气温')plt.title('月度气温变化趋势', fontsize=16, fontweight='bold')plt.xlabel('月份', fontsize=12)plt.ylabel('温度(°C)', fontsize=12)plt.grid(True, alpha=0.3)     # 显示网格plt.legend(fontsize=12)       # 显示图例plt.tight_layout()plt.show()
📌 常用标记样式'o'(圆点), 's'(方块), '^'(三角), '*'(星号)

散点图:探索变量关系

# 创建销售与广告投入数据df_scatter = pd.DataFrame({    'Ad_Spend': [10152025303540],    'Sales': [150200250300350380420]})plt.figure(figsize=(106))plt.scatter(df_scatter['Ad_Spend'],             df_scatter['Sales'],            s=100,              # 点大小            c='green',          # 点颜色            alpha=0.6,            edgecolors='darkgreen',            label='销售数据')# 添加趋势线z = np.polyfit(df_scatter['Ad_Spend'], df_scatter['Sales'], 1)p = np.poly1d(z)plt.plot(df_scatter['Ad_Spend'],          p(df_scatter['Ad_Spend']),          "r--", linewidth=2, label='趋势线')plt.title('广告投入与销售额关系', fontsize=16, fontweight='bold')plt.xlabel('广告投入(万元)', fontsize=12)plt.ylabel('销售额(万元)', fontsize=12)plt.legend()plt.grid(True, alpha=0.3)plt.tight_layout()plt.show()
💡 趋势线解读:红色虚线显示正相关关系,广告投入增加,销售额同步增长。

Seaborn 高级绘图:统计可视化的"利器"

Seaborn 基于 Matplotlib 构建,提供更简洁的接口和更美观的默认样式,特别适合统计图表。

分布图:理解数据分布特征

import seaborn as sns# 生成正态分布数据np.random.seed(42)data_normal = np.random.normal(loc=0, scale=1, size=1000)# 设置Seaborn样式sns.set_style("whitegrid")  # 白色网格背景sns.set_palette("husl")     # 调色板plt.figure(figsize=(106))sns.histplot(data_normal,              bins=30,        # 柱子数量             kde=True,       # 显示核密度估计曲线             color='blue',             alpha=0.6)plt.title('正态分布数据直方图', fontsize=16, fontweight='bold')plt.xlabel('数值', fontsize=12)plt.ylabel('频数', fontsize=12)plt.tight_layout()plt.show()
📊 KDE曲线作用:平滑显示数据分布密度,比直方图更直观反映整体分布形态。

箱型图:识别异常值与分布

# 创建分类数据df_box = pd.DataFrame({    'Category': ['A组'] * 50 + ['B组'] * 50 + ['C组'] * 50,    'Value': np.concatenate([        np.random.normal(10250),        np.random.normal(15350),        np.random.normal(121.550)    ])})plt.figure(figsize=(106))sns.boxplot(x='Category'            y='Value'            data=df_box,            palette='Set2',      # 配色方案            width=0.5,           # 箱子宽度            showfliers=True)     # 显示异常值plt.title('不同类别数据分布对比(箱型图)', fontsize=16, fontweight='bold')plt.xlabel('类别', fontsize=12)plt.ylabel('数值', fontsize=12)plt.grid(True, alpha=0.3)plt.tight_layout()plt.show()

🔍 箱型图解读

  • 箱体:中间50%数据范围(25%-75%分位数)
  • 中线:中位数
  • 须线:最小/最大值(排除异常值)
  • 圆点:异常值(超出1.5倍四分位距)

🔹 小提琴图:分布密度的"艺术呈现

plt.figure(figsize=(106))sns.violinplot(x='Category'               y='Value'               data=df_box,               palette='pastel',               inner='box')  # 内部显示箱型图plt.title('不同类别数据分布对比(小提琴图)', fontsize=16, fontweight='bold')plt.xlabel('类别', fontsize=12)plt.ylabel('数值', fontsize=12)plt.grid(True, alpha=0.3)plt.tight_layout()plt.show()
🎻 优势:结合箱型图和密度图,既显示统计量又展示完整分布形态。

🔹 热力图:相关性矩阵可视化

# 创建多变量数据df_corr = pd.DataFrame({    '销售额': [100150200250300],    '广告投入': [1015202530],    '客户数': [507090110130],    '利润': [3045607590]})# 计算相关系数矩阵corr_matrix = df_corr.corr()plt.figure(figsize=(86))sns.heatmap(corr_matrix,            annot=True,        # 显示数值            cmap='RdYlGn',     # 红黄绿配色            center=0,          # 中心值            square=True,       # 正方形格子            linewidths=0.5,    # 格子间距            cbar_kws={"shrink".8})  # 颜色条缩放plt.title('变量相关性热力图', fontsize=16, fontweight='bold')plt.tight_layout()plt.show()
🌈 颜色解读:红色=正相关,绿色=负相关,黄色=无相关,数值越接近±1相关性越强。

多图布局:专业报告的"标配"

实际分析中,经常需要在一张图中展示多个子图,提升信息密度和对比效果。
# 创建示例数据np.random.seed(42)dates = pd.date_range('2024-01-01', periods=30, freq='D')df_multi = pd.DataFrame({    'Date': dates,    'Sales': np.random.randint(100, 300, 30) + np.sin(np.arange(30)/5)*50,    'Profit': np.random.randint(30, 100, 30),    'Customers': np.random.randint(20, 80, 30)})# 创建 2x2 子图布局fig, axes = plt.subplots(2, 2, figsize=(12, 10))fig.suptitle('销售数据综合分析', fontsize=20, fontweight='bold')# 子图1:销售额趋势(折线图)axes[0, 0].plot(df_multi['Date'], df_multi['Sales'], color='blue', linewidth=2)axes[0, 0].set_title('销售额趋势', fontsize=14)axes[0, 0].tick_params(axis='x', rotation=45)# 子图2:利润分布(直方图)axes[0, 1].hist(df_multi['Profit'], bins=10, color='green', alpha=0.7, edgecolor='black')axes[0, 1].set_title('利润分布', fontsize=14)# 子图3:销售额vs客户数(散点图)axes[1, 0].scatter(df_multi['Customers'], df_multi['Sales'],                    alpha=0.6, color='orange')axes[1, 0].set_xlabel('客户数', fontsize=12)axes[1, 0].set_ylabel('销售额', fontsize=12)axes[1, 0].set_title('客户数与销售额关系', fontsize=14)# 子图4:三类数据箱型图data_box = [df_multi['Sales'], df_multi['Profit'], df_multi['Customers']]axes[1, 1].boxplot(data_box, labels=['销售额''利润''客户数'])axes[1, 1].set_title('数据分布对比', fontsize=14)plt.tight_layout()plt.show()

📐 布局技巧

  • plt.subplots(n行, n列) 创建网格布局
  • fig.suptitle() 设置总标题
  • axes[i, j] 访问第i行第j列的子图
  • tight_layout() 自动调整间距

⚠️ 核心避坑指南

综合实战:销售数据可视化仪表盘

将今日知识点串联,模拟真实业务场景:

import matplotlibmatplotlib.use('TkAgg')import matplotlib.pyplot as pltimport pandas as pdimport numpy as npimport seaborn as sns# 1. 构造业务数据np.random.seed(42)n_days = 60dates = pd.date_range('2024-01-01', periods=n_days, freq='D')df_viz = pd.DataFrame({    'Date': dates,    'Region': np.random.choice(['华东''华南''华北''华西'], n_days),    'Product': np.random.choice(['产品A''产品B''产品C'], n_days),    'Sales': np.random.randint(100500, n_days) + np.sin(np.arange(n_days)/10)*100,    'Profit': np.random.randint(30150, n_days),    'Customers': np.random.randint(20100, n_days)})# 2. 设置样式sns.set_style("whitegrid")plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False# 3. 创建综合仪表盘fig = plt.figure(figsize=(1410))fig.suptitle('📊 销售数据可视化仪表盘', fontsize=20, fontweight='bold', y=0.98)# 子图1:销售趋势(折线图)ax1 = plt.subplot(231)df_daily = df_viz.groupby('Date')['Sales'].sum().reset_index()plt.plot(df_daily['Date'], df_daily['Sales'], color='#1f77b4', linewidth=2)plt.title('日销售额趋势', fontsize=14, fontweight='bold')plt.xticks(rotation=45)plt.ylabel('销售额(元)')# 子图2:区域销售占比(饼图)ax2 = plt.subplot(232)region_sales = df_viz.groupby('Region')['Sales'].sum()colors = plt.cm.Set3(np.linspace(01len(region_sales)))plt.pie(region_sales, labels=region_sales.index, autopct='%1.1f%%'        colors=colors, startangle=90)plt.title('区域销售占比', fontsize=14, fontweight='bold')# 子图3:产品销售分布(柱状图)ax3 = plt.subplot(233)product_sales = df_viz.groupby('Product')['Sales'].mean()plt.bar(product_sales.index, product_sales.values,         color=['#ff7f0e''#2ca02c''#d62728'], alpha=0.8)plt.title('产品平均销售额', fontsize=14, fontweight='bold')plt.ylabel('平均销售额(元)')# 子图4:销售额分布(直方图+KDE)ax4 = plt.subplot(234)sns.histplot(df_viz['Sales'], bins=15, kde=True, color='#9467bd')plt.title('销售额分布', fontsize=14, fontweight='bold')plt.xlabel('销售额(元)')# 子图5:利润vs客户数(散点图)ax5 = plt.subplot(235)plt.scatter(df_viz['Customers'], df_viz['Profit'],             alpha=0.6, c='#17becf', s=50)plt.title('客户数与利润关系', fontsize=14, fontweight='bold')plt.xlabel('客户数')plt.ylabel('利润(元)')# 子图6:区域×产品热力图ax6 = plt.subplot(236)pivot_data = df_viz.pivot_table(values='Sales'                                 index='Region'                                 columns='Product'                                 aggfunc='sum')sns.heatmap(pivot_data, annot=True, fmt='.0f', cmap='YlOrRd'            linewidths=0.5, cbar_kws={'label''销售额(元)'})plt.title('区域×产品销售额', fontsize=14, fontweight='bold')plt.tight_layout(rect=[0010.96])  # 为总标题留空间plt.show()# 4. 输出关键指标print("=" * 50)print("📈 销售数据关键指标")print("=" * 50)print(f"总销售额:¥{df_viz['Sales'].sum():,.0f}")print(f"平均日销售额:¥{df_viz['Sales'].mean():,.0f}")print(f"最高单日销售:¥{df_viz['Sales'].max():,.0f}")print(f"平均利润率:{(df_viz['Profit'].sum() / df_viz['Sales'].sum() * 100):.1f}%")print(f"总客户数:{df_viz['Customers'].sum():,}")print("=" * 50)print(f"\n🏆 最佳销售区域:{region_sales.idxmax()}")print(f"🏆 最受欢迎产品:{product_sales.idxmax()}")

🖥️ 预期输出

  • 6个子图的综合仪表盘,包含趋势、占比、分布、关系等多维度可视化
  • 控制台输出关键业务指标,辅助决策

今日知识点

✅ 核心心法

  1. Matplotlib 灵活可控,适合定制复杂图表
  2. Seaborn 简洁美观,适合快速统计可视化
  3. 多图布局 用 plt.subplots(),专业报告必备
  4. 中文显示 必须设置字体,否则全是方框□
  5. 配色方案 用 sns.color_palette() 或 cmap 参数,避免"彩虹色灾难"

【一起学Python】每天进步一点点,365天后遇见更优秀的自己!

🎯 今日金句:"一图胜千言,数据可视化让洞察触手可及;一码绘万象,图表之美在于简洁与深刻。"

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 06:41:31 HTTP/2.0 GET : https://f.mffb.com.cn/a/496971.html
  2. 运行时间 : 0.094457s [ 吞吐率:10.59req/s ] 内存消耗:4,631.40kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=bfd9a9632a3ef72a96b7c39d3358eb54
  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.000629s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000826s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000343s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000268s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000476s ]
  6. SELECT * FROM `set` [ RunTime:0.000190s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000584s ]
  8. SELECT * FROM `article` WHERE `id` = 496971 LIMIT 1 [ RunTime:0.005210s ]
  9. UPDATE `article` SET `lasttime` = 1783032091 WHERE `id` = 496971 [ RunTime:0.012533s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000418s ]
  11. SELECT * FROM `article` WHERE `id` < 496971 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000626s ]
  12. SELECT * FROM `article` WHERE `id` > 496971 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000469s ]
  13. SELECT * FROM `article` WHERE `id` < 496971 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000751s ]
  14. SELECT * FROM `article` WHERE `id` < 496971 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002182s ]
  15. SELECT * FROM `article` WHERE `id` < 496971 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000867s ]
0.096023s