plotly / plotly/plotly.py

Add Support for Velocity Arrows in Scatter 3D Graphs

Offen
#4,901 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature P3
Vorherrschende Sprache
Python
Sterne
18.8k
Forks
2.8k
Ø Merge
16 Std. 26 Min.
Gemergte PRs (30 T.)
21

Beschreibung

Original issue description:

I propose adding a feature to the scatter and scatter3d graph types in Plotly to support velocity arrows. This feature would allow users to display directional arrows, enhancing data visualization for applications that involve vector fields, velocities, forces, or any data represented by direction and magnitude.

Update 31 Aug 2026:

  • 2D quiver now supported with go.Quiver() (as of v7.0.0)
  • Our answer for 3D quiver is go.Cone(), but it has limitations:

For 3D though, Cone() isn't really an arrow. To get a velocity vector you have to combine a Cone (head) with a Scatter3d line (shaft) and keep them in sync manually. The bigger issue is that cone size is in data units while line width is in pixels — so on zoom the head and shaft drift out of proportion (head swallows the shaft, or disappears entirely).

What I was after is the 3D analogue of Quiver: takes x, y, z, u, v, w, draws shaft + attached head, with the head sized in pixels so it stays legible under zoom and rotation.

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 damit, die bestehenden Einstiegspunkte go.Quiver() und go.Cone() sowie den Graphentyp scatter3d zu vergleichen. Lege fest, wie eine 3D-Entsprechung x, y, z, u, v, w akzeptieren und ihren Schaft und ihre Pfeilspitze beim Zoomen und Drehen verbunden und gut lesbar halten soll; als abgeschlossen gilt die Funktion, wenn sie implementiert ist und ihr Verhalten durch geeignete Tests abgedeckt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
plotly, python
Bereich
data-visualization
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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