Replace every plot: a new plot widget behind the 14 panels that use wxPlotCtrl
还没有人认领这个 Issue。
评估
调研方向
Start by reading the wxPlotCtrl wrapper ewxPlotCtrl and the 30-method subset the 14 listed panels call, such as AddCurve, DeleteCurve and the axis and title setters. The first step is a design discussion on the new widget's API, not code. Done means an agreed interface, unit tests for the axis and tick logic, and a headless render of each current plot for comparison.
由索引模型根据 Issue 内容生成。
描述
Andy, 2026-10-15, on the GROMACS minimisation energy plot: "We need to replace ALL plots with ones that work better."
That plot shows the old component's defaults: the x axis runs from -150 to 400 for steps 0 to 240, every y tick reads -4.51xe+06, and the unit is kJoule/Mole.
Where plots come from: every property plot goes through wxPlotCtrl (src/wxgui/wxplotctrl, about 15,000 lines) via ewxPlotCtrl. Users: GeomTracePropertyPanel, VectorPlotPropertyPanel, PlotAnyPropertyPanel, PlotMetaXY/3D, MoPanel, MomentsPanel, SpinSpin, TableAtomCoords, BuilderTraceStress, EqConstPlot, RxnConstPlot, RxnConstVsPlot, RxnErrPlot and RxnTrace. Together they call about 30 methods: AddCurve/DeleteCurve, pens and symbols, titles and axis labels, key, cursor index, client-coordinate mapping, and so on.
Plan
-
A new plot widget with that 30-method subset, so the panels change little. It provides:
- tight data ranges and nice ticks;
- offset or scaled axes for large values (E - E_ref, or x10^n in the label);
- unit names (kJ/mol, Hartree, eV, bar);
- Okabe-Ito colours (#210);
- hover readout, zoom and reset;
- an optional click callback (e.g. go to that geometry step when frames exist);
- PNG/SVG/CSV export.
Axis and tick logic gets unit tests.
-
A headless render of every current plot, old and new side by side, for review.
-
Switch the panels over in batches, then remove wxplotctrl.
The newer drawings (SpectrumCanvas, the MO diagram, the progress box) should share the axis and tick code.
Related: #334, #210, #180.
- 主要语言
- C
- 星标
- 10
- 派生
- 8
- 平均合并
- 21 分钟
- 30 天内合并 PR
- 1
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
FriendsofECCE/ECCE 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
FriendsofECCE/ECCE#336 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 25/100
FriendsofECCE/ECCE#339 ·
-
难度 4/5 3-5 天 新手友好度 28/100
FriendsofECCE/ECCE#338 · 2 条评论 ·
-
Basis Set Tool: periodic table cut off on the right; elements 110-118 still have placeholder names未关闭
难度 4/5 3-5 天 新手友好度 40/100
FriendsofECCE/ECCE#337 ·
-
难度 4/5 3-5 天 新手友好度 25/100
FriendsofECCE/ECCE#334 · 1 条评论 ·
查看 FriendsofECCE/ECCE 的全部 Issue
相似的 Issue
-
Symlink in release archive attempts traversal可能已有人在做 @Tiancheng-Xu 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 1 天内回复
-
[BUG] Small issues on iMXRT found by Claude可能已有人在做 @Sarthak-Pandey 今天认领。 未关闭Arch: arm Area: Networking OS: Linux Type: Bug
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
eclipse-cyclonedds/cyclonedds#2474 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
Genymobile/scrcpy#7104 ·
维护者通常 1 天内回复
-
[ClaudeCode] /backport-commit should not run trigger-jenkins.sh on release-branch PRs可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭kind/new-feature
难度 1/5 1 小时以内 新手友好度 78/100
yugabyte/yugabyte-db#35142 ·
维护者通常 1 天内回复