plotly / plotly/plotly.js

[BUG]: The `quiver` trace ignores a discrete `marker.color` array and results in every arrow being black

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

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

bug P2 size: 3
主要言語
JavaScript
スター
18.3k
フォーク
2k
平均マージ
2日 12時間
マージ済み PR(30日)
28

説明

Description

The quiver trace ignores a discrete marker.color array. Every arrow ends up black instead of taking its per-point color. A numeric array with a colorscale works, and a single color string works.

Screenshots/Video
No colorscale (the bug) With colorscale (for comparison)
Image Image
Steps to reproduce
  • Open plotly devtools
  • Run the following snippet in the browser devtools console
     Plotly.newPlot(gd, [{
       type: 'quiver',
       x: [1, 2, 3], y: [1, 2, 3],
       u: [1, 1, 1], v: [0, 1, 0],
       marker: { color: ['rgb(23, 103, 194)', '#FF4136', '#2ECC40'], line: { width: 3 } }
     }]);
    
  • Note that all three arrows are rgb(0, 0, 0) (by inspection of using your eyes)
  • Run the following modified snippet:
     Plotly.newPlot(gd, [{
       type: 'quiver',
       x: [1, 2, 3], y: [1, 2, 3],
       u: [1, 1, 1], v: [0, 1, 0],
       marker: { color: [0, 5, 10], line: { width: 3 } },
       colorscale: 'Viridis'
     }]);
    
  • Note that the arrows have the correct color
Notes
  • marker.color is documented as arrayOk, so the black arrows seem to be a rendering bug (rather than an unsupported input)
  • Per the schema, each arrow should be drawn as its own color from the array. If this behavior is intentional, we should update the description.
  • This was found while working on #8025

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

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

はじめの一歩

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

調査の方向性

ブラウザの開発者ツールで Plotly.newPlot の呼び出しを使って問題を再現し、まず quiver trace の実装から確認します。離散的な marker.color 配列の処理と数値の colorscale の場合を比較し、その後、単一色と colorscale が引き続き機能する一方で、各矢印が対応する色を使用することを確認します。

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

評価

技術スタック
javascript
領域
data-visualization
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
活発
明瞭さ
明確に書かれている
初心者へのやさしさ
72/100

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

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