plotly / plotly/plotly.py

Add Support for Velocity Arrows in Scatter 3D Graphs

オープン
#4,901 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

feature P3
主要言語
Python
スター
18.8k
フォーク
2.8k
平均マージ
16時間 26分
マージ済み PR(30日)
21

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、既存のエントリポイントである go.Quiver() と go.Cone()、および scatter3d グラフ型を比較します。3D 版が x, y, z, u, v, w を受け取り、ズームや回転中もシャフトと矢印の先端が接続された状態で判読可能になる方法を定義します。機能が実装され、その動作が適切なテストでカバーされれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
plotly, python
領域
data-visualization
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。