返回 Skill 列表
extension
分类: 数据与分析无需 API Key

Meta分析森林图美化

美化Meta分析Forest plot,支持自定义Odds Ratio点及置信区间样式

person作者: aipoch-aihubclawhub

Meta分析森林图美化

ID: 157

美化Meta分析或亚组分析的Forest plot,自定义Odds Ratio点大小和置信区间线条样式。


功能特性

  • 读取Meta分析数据(CSV/Excel格式)
  • 绘制高质量Forest plot
  • 自定义Odds Ratio点的大小、颜色和形状
  • 自定义置信区间线条样式(颜色、粗细、端点样式)
  • 支持亚组分析展示
  • 自动计算并显示汇总效应值
  • 输出为PNG、PDF或SVG格式

使用方法

python scripts/main.py --input <data.csv> [options]

参数说明

| 参数 | 类型 | 默认值 | 必填 | 描述 | |-----------|------|---------|----------|-------------| | --input, -i | string | - | 是 | 输入数据文件(CSV或Excel) | | --output, -o | string | forest_plot.png | 否 | 输出文件路径 | | --format, -f | string | png | 否 | 输出格式(png/pdf/svg) | | --point-size | int | 8 | 否 | OR点大小 | | --point-color | string | #2E86AB | 否 | OR点颜色 | | --ci-color | string | #2E86AB | 否 | 置信区间线条颜色 | | --ci-linewidth | int | 2 | 否 | 置信区间线条粗细 | | --ci-capwidth | int | 5 | 否 | 置信区间端点宽度 | | --summary-color | string | #A23B72 | 否 | 汇总效应点颜色 | | --summary-shape | string | diamond | 否 | 汇总效应点形状 | | --subgroup | string | - | 否 | 亚组分析列名 | | --title, -t | string | Forest Plot | 否 | 图表标题 | | --xlabel, -x | string | Odds Ratio (95% CI) | 否 | X轴标签 | | --reference-line | float | 1.0 | 否 | 参考线位置 | | --width, -W | int | 12 | 否 | 图片宽度(英寸) | | --height, -H | int | auto | 否 | 图片高度(英寸) | | --dpi | int | 300 | 否 | 图片分辨率 | | --font-size | int | 10 | 否 | 字体大小 | | --style, -s | string | default | 否 | 预设样式(default/minimal/dark) |


输入数据格式

CSV/Excel文件须包含以下列:

| 列名 | 描述 | 类型 | |------|------|------| | study | 研究名称 | Text | | or | Odds Ratio值 | Numeric | | ci_lower | 置信区间下限 | Numeric | | ci_upper | 置信区间上限 | Numeric | | weight | 权重(可选,用于点大小) | Numeric | | subgroup | 亚组标签(可选) | Text |

示例数据

study,or,ci_lower,ci_upper,weight,subgroup
Study A,0.85,0.65,1.12,15.2,Drug A
Study B,0.72,0.55,0.94,18.5,Drug A
Study C,1.15,0.88,1.50,12.3,Drug B
Study D,0.95,0.75,1.20,14.8,Drug B

示例

基本用法

python scripts/main.py -i meta_data.csv

自定义样式

python scripts/main.py -i meta_data.csv \
    --point-color="#E63946" \
    --ci-color="#457B9D" \
    --point-size=10 \
    --ci-linewidth=3 \
    -t "Meta-Analysis of Treatment Effects"

亚组分析

python scripts/main.py -i meta_data.csv \
    --subgroup subgroup_column \
    --summary-color="#F4A261" \
    -o subgroup_forest.png

输出PDF矢量图

python scripts/main.py -i meta_data.csv \
    -f pdf \
    -o forest_plot.pdf

预设样式

default

  • 蓝色配色方案
  • 标准字体大小
  • 白色背景

minimal

  • 简洁线条
  • 灰度配色方案
  • 无网格线

dark

  • 深色背景
  • 明亮数据点
  • 适合深色主题演示

依赖项

  • Python >= 3.8
  • matplotlib >= 3.5.0
  • pandas >= 1.3.0
  • numpy >= 1.20.0
  • openpyxl >= 3.0.0(用于读取Excel)

输出示例

生成的Forest plot包含:

  • 左侧:研究名称列表
  • 中间:OR值和置信区间
  • 右侧:权重百分比(如有)
  • 底部:汇总效应值(菱形标记)
  • 参考线(OR=1)

注意事项

  1. 确保输入文件编码为UTF-8
  2. 建议使用对数刻度时,OR值会自动转换
  3. 置信区间跨越1的研究在统计上不显著
  4. 权重值用于调整点大小,反映研究贡献度

风险评估

| 风险指标 | 评估 | 等级 | |----------------|------------|-------| | 代码执行 | 本地执行Python/R脚本 | Medium | | 网络访问 | 无外部API调用 | Low | | 文件系统访问 | 读取输入文件,写入输出文件 | Medium | | 指令篡改 | 标准提示词指南 | Low | | 数据暴露 | 输出文件保存至工作空间 | Low |

安全检查清单

  • [ ] 无硬编码凭据或API密钥
  • [ ] 无未授权文件系统访问(../)
  • [ ] 输出不暴露敏感信息
  • [ ] 已实施提示词注入防护
  • [ ] 输入文件路径已验证(无../遍历)
  • [ ] 输出目录限制在工作空间内
  • [ ] 脚本在沙箱环境中执行
  • [ ] 错误信息已脱敏(不暴露堆栈跟踪)
  • [ ] 依赖项已审计

前提条件

# Python dependencies
pip install -r requirements.txt

评估标准

成功指标

  • [ ] 成功执行主要功能
  • [ ] 输出符合质量标准
  • [ ] 优雅处理边缘情况
  • [ ] 性能可接受

测试用例

  1. 基本功能:标准输入 → 预期输出
  2. 边缘情况:无效输入 → 优雅的错误处理
  3. 性能:大数据集 → 可接受的处理时间

生命周期状态

  • 当前阶段:Draft
  • 下次审核日期:2026-03-06
  • 已知问题:无
  • 计划改进
    • 性能优化
    • 额外功能支持