Skip to content

v0.7.1 update#5

Merged
QuantumMisaka merged 13 commits intomainfrom
figure-dev
Apr 1, 2026
Merged

v0.7.1 update#5
QuantumMisaka merged 13 commits intomainfrom
figure-dev

Conversation

@QuantumMisaka
Copy link
Copy Markdown
Owner

变更摘要

  • 本 PR 解决的问题:Collection和Analysis作图优化

  • 核心改动:

    • [特性] 提升 Parity Plots 可读性:全局基础字号由 12 增大至 16,同步调大统计框 (Stats Box) 字号。
    • [特性] 优化图像元素尺寸:增大 Scatter 散点和 Hexbin 六边形大小,Hexbin gridsize 由 60 降至 50 以突出重点。
    • [修复] 解决布局重叠:将 Error Density 顶部刻度标签向上微调 (error_tick_pad 1.0),防止与曲线重叠。
    • [修复] 统一出图尺寸:移除 bbox_inches="tight",严格遵循预设 figsize,确保跨图视觉一致性。
    • [修复] 消除 KDE 伪影:在绘制误差分布前对离群点进行过滤,修复由于网格稀疏导致的“倒三角”尖角伪影。
    • [特性] 新增多数据池采样总结图 (Final_sampled_PCAview_by_pool),支持多 Pool 场景下的特征覆盖可视化。
    • [特性] 引入出图分层控制 (enable_diagnostic_plots),默认仅生成核心图表,减少冗余产出。
    • [特性] 接入 Candidate Parity 图,支持在采样阶段对候选集进行误差预审。
    • [治理] 完成 v0.7.1 周期文档归档,同步更新归档索引与包级模块文档。
    • [发布] 版本升级至 0.7.1,同步 __init__README、Sphinx conf.py 与 Banner 版本标识

文档治理检查清单

  • 本 PR 是否涉及 CLI、配置字段、输出目录/日志、完成标记等对外契约
  • 若涉及,已在同一 PR 更新 docs/guides/*docs/reference/*
  • 已执行 python3 scripts/doc_check.py
  • 已执行 python3 scripts/check_docs_freshness.py --days 90
  • 已执行 make html SPHINXOPTS="-W --keep-going"
  • 若涉及功能开发完成,已将对应计划/报告归档至 docs/archive/vX.Y.Z/
  • 本次新增/更新的 status: active 文档已包含 ownerowners

风险与迁移说明

  • 兼容性影响:
  • 是否需要迁移步骤:
  • 回滚策略:

验证记录

  • 本地验证命令:
  • 关键输出截图/日志(可选):

- 在 Collection 含真值数据时自动生成 UQ-QbC-Candidate-fdiff-parity 与 UQ-RND-Candidate-fdiff-parity 图
- 新增 _has_valid_uq_vector 辅助方法以处理缺失或无效的 uq_rnd_rescaled 向量
- 对七类工作流(train/infer/analysis/feature/collect/label/clean)进行未接入模块审查
- 生成结构化审计报告与任务清单,确保模块定义与主链路调用一致性
- 更新测试以覆盖新增出图行为与异常场景
- 更新2026-03-25进度报告,添加当前任务完成状态
- 统一Collection流程中的日志标签:使用COLLECT_UQ_FALLBACK和COLLECT_PLOT_SKIPPED
- 增强workflow单测,添加对日志关键字和跳过原因的断言
- 归档 v0.7.1 版本报告并更新归档索引
- 添加未接入模块审查模板
- 完善包级 `__init__.py` 的命名空间说明
- 在开发指南中明确包级导出层与主链路入口边界
- 为多数据池(joint)采样模式新增按数据池来源区分的采样总结图(Final_sampled_PCAview_by_pool),仅在多池模式触发,单池模式保持兼容
- 引入 `enable_diagnostic_plots` 配置项,默认关闭 Diagnostic 层 parity 图以减少默认输出噪声
- 在运行日志中统一记录图像生成与跳过状态(COLLECT_PLOT_GENERATED/SKIPPED/AUDIT),便于审计
- 更新相关配置示例、单元测试与文档说明
- 移除已完成spec的checklist与tasks文件,包括optimize-collection-plot-outputs、add-multipool-sampling-summary-plot等
- 更新.gitignore以忽略所有.cache目录
- 在文档索引中添加plans目录并更新相关指南
- 为analysis配置新增enhanced_parity_renderer字段,支持用户覆盖渲染策略
- 扩展CollectionConfig以支持更精细的字体与图例控制
- 补充单元测试覆盖plot_level行为与visual_style模块
- 新增Enhanced Parity Plot设计规划文档,明确quantity-aware设计原则
- 更新项目规则与代理指南,保持文档简洁性
- 移除hexbin模式中冗余的叠加散点逻辑,保持代码整洁
- 统一Error面板标题为"Error Density"
- 增大散点大小提升视觉饱满度
- 优化统计面板,移除MedAE并增大字号
- 调整侧边栏间距和对齐方式,解决布局重叠问题
- 更新测试用例以匹配新的视觉样式
- 将suptitle_y统一调整为1.000,使标题更靠上避免重叠
- 为所有suptitle添加fontweight="bold"以增强可读性
- 将aligned_sidebar_gap从0.015调整为0.040,解决标签重叠问题
- 更新文档记录调整内容与验证步骤
调整视觉样式中的字体缩放因子,提升图表标题与标签的可读性。改进统计框的显示逻辑,根据数据分布动态选择位置与对齐方式,避免遮挡重要数据区域。同时优化元素比例饼图与元素存在率图的字体大小自适应,确保在不同元素数量下保持清晰度。修复测试用例以优先使用解析器对齐的组成信息,仅在无效时回退到数据路径的组成信息。
调整PCA散点图的字体层级和字号大小,提高标题与标签的可读性
为折线图和和柱状图可视化图表添加bbox_inches="tight"以防止裁剪
移除PCA视图中的网格线以避免视觉干扰,并增强图例透明度
删除已完成的优化任务文档与检查清单
更新单元测试以反映视觉配置的变更
在 Enhanced Parity Plot 的 Error Density 子图中,由于存在极端离群点,导致核密度估计(KDE)的评估网格过于稀疏。随后通过 set_xlim 进行视图缩放时,仅剩的少数网格点被连接成粗糙的“倒三角”伪影。

修改 plot_parity_enhanced 方法,在绘制误差直方图与 KDE 前,先基于误差绝对值的 99 分位数计算可视范围,并过滤掉范围外的离群点。这确保了 KDE 网格和直方图分箱计算都集中在核心数据区域,从而生成平滑、高分辨率的密度曲线。
修复 _align_scatter_enhanced_axes 中可能出现的负宽度错误
统一 visual_style 中所有增强型 parity 图的 figure_size 配置
更新相关测试以匹配新的紧凑轴标签(True/Predicted/Error)
- 将基础字体大小从12增加到16,提高整体可读性
- 增大散点尺寸和hexbin网格大小,使数据点更清晰
- 调整error density子图的刻度标签位置,避免与内容重叠
- 修复统计框字体大小未随配置同步的问题
- 优化子图布局和间距,确保视觉协调
- 将版本号从 0.7.0 更新至 0.7.1,涉及 __init__.py、README.md、Sphinx 配置及文档横幅。
- 完成 v0.7.1 周期文档归档,包括实施计划、设计规格与代码审查报告。
- 同步更新开发者指南中的版本历史与归档索引,确保文档状态一致。
- 清理临时工作目录中的计划文档,将最终版本移入归档。
@QuantumMisaka QuantumMisaka merged commit 14d336b into main Apr 1, 2026
1 of 2 checks passed
@QuantumMisaka QuantumMisaka deleted the figure-dev branch April 1, 2026 04:45
@QuantumMisaka QuantumMisaka restored the figure-dev branch April 1, 2026 14:10
@QuantumMisaka QuantumMisaka deleted the figure-dev branch April 1, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant