Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Replace every plot: a new plot widget behind the 14 panels that use wxPlotCtrl

Abierto
#335 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
8/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cpp
Área
desktop

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

  1. 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.

  2. A headless render of every current plot, old and new side by side, for review.

  3. 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.

Lenguaje dominante
C
Estrellas
10
Forks
8
Merge medio
21 min
PR fusionados (30 d)
1

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de FriendsofECCE/ECCE

Todos los issues de FriendsofECCE/ECCE

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.