Replace every plot: a new plot widget behind the 14 panels that use wxPlotCtrl
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 8/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- C
- Star
- 10
- Fork
- 8
- Merge trung bình
- 21 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của FriendsofECCE/ECCE
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
FriendsofECCE/ECCE#336 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
FriendsofECCE/ECCE#339 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 28/100
FriendsofECCE/ECCE#338 · 2 bình luận ·
-
Basis Set Tool: periodic table cut off on the right; elements 110-118 still have placeholder namesĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 40/100
FriendsofECCE/ECCE#337 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
FriendsofECCE/ECCE#334 · 1 bình luận ·
Tất cả issue của FriendsofECCE/ECCE
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
Maintainer thường phản hồi trong vòng 1 ngày
-
`inverse()` of a controlled `CUGate` drops the phase parameter γCó thể đã có người làm @rupasri118 đã nhận hôm nay. Đang mởbug mod: circuit
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Qiskit/qiskit#17223 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
OpenPrinting/libcupsfilters#284 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
libsdl-org/SDL#16530 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
fw876/helloworld#2067 ·
Maintainer thường phản hồi trong vòng 1 ngày