plotly / plotly/dash

[Feature Request] Support Curved Decision Boundaries and Dynamic Phase Detection for Bar Components

Offen
#3,913 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement P3 size: 5
Vorherrschende Sprache
Python
Sterne
24.4k
Forks
2.3k
Ø Merge
2 T. 7 Std.
Gemergte PRs (30 T.)
13

Beschreibung

Curved Decision Boundary Bar Chart for Dash

1. Is your feature request related to a problem? Please describe.

In scientific data apps (such as thermodynamic $P$-$T$ phase diagrams), industrial monitoring dashboards, and multi-threshold analysis, users need to visualize dynamic bar elements interacting with non-linear, curved decision boundaries in a 2D parameter space.

Currently, creating dynamic threshold lines with dcc.Graph or standard Dash components primarily targets static, linear thresholds (horizontal or vertical lines). Calculating real-time intersections/collisions between a bar's moving vertex (X = position, Y = height) and polynomial/spline-based curved boundaries to dynamically update bar states (e.g., solid, liquid, gas, or alert levels) is mathematically complex and difficult to streamline in Dash callbacks.

2. Describe the solution you'd like

We would like Dash / Plotly components to support native properties or utilities for defining curved decision boundaries in coordinate space.

When a bar component's X-position or Y-height is dynamically modified via Dash callbacks or user interactions, the component could automatically evaluate the bar top's position against the curved boundaries, dynamically updating the bar's styling, labels, and phase/state triggers.

3. Describe alternatives you've considered

Currently, developers have to manually compute non-linear equations inside Python callbacks (@app.callback) or write low-level custom React/Canvas components using Dash component boilerplate. This introduces significant boilerplate, overhead, and potential latency for high-frequency interactive updates.

4. Additional context

Here is a reference implementation demo and open-source project demonstrating the desired behavior and phase collision logic:

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Überprüfung der verlinkten Curved-Boundary-Bar-Chart-Demo und des Repositorys und untersuche anschließend, wie dcc.Graph, Dash-Callbacks und benutzerdefinierte React/Canvas-Komponenten mit der Anfrage zusammenhängen könnten. Kläre vor der Implementierung die native API und die unterstützten Boundary-Typen; done sollte die Evaluierung gekrümmter Boundaries sowie dynamisches Balken-Styling, Beschriftungen und Phasen-/Status-Trigger umfassen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python, react
Bereich
data-visualization, frontend
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.