plotly / plotly/plotly.js

Restyle function breaks "scatter" traces at the "h" orientation

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

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

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

説明

If you set the orientation: 'h' to restyle (or update) function, then the "scatter" traces somehow shift relative to each other.

Not reproduce for "bar" traces.

Excemple on codepen:

var x = [1, 2, 3, 4, 5],
    y = [0, 1, 2, 3, 4];

var traceCommon = {
    //type: 'bar',
    type: 'scatter',
    orientation: "h",
    stackgroup: "s",
    mode: 'lines+markers',
    x: x,
    y: y
};

var trace1 = {
    ...traceCommon,
    //y: [0, 1, 2, 3, 4],
    //x: [1, 5, 3, 7, 5]
};

var trace2 = {
    ...traceCommon,
    //y: [1, 2, 3, 4, 5],
    //x: [4, 0, 4, 6, 8],
};

Plotly.newPlot('myDiv', [trace1, trace2], { title: { text: "OK" } });

setTimeout(() => {

    Plotly.update('myDiv', {
        x: [x, x],
        y: [y, y],
        orientation: ["h", "h"]
    }, {
        title: { text: "ERROR" }
    }, [0, 1]);

}, 1500);

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

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

はじめの一歩

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

調査の方向性

Plotly.update を使用して、2 つの水平方向の scatter traces を持つ CodePen の例を再現し、コメントアウトされた bar-trace のバリアントと比較します。Plotly.update/restyle のエントリポイントから始めて、scatter traces に対して orientation と stackgroup がどのように再計算されるかを追跡します。両方の traces を更新しても互いの相対位置がずれなくなり、bar の動作が維持されれば完了です。

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

評価

技術スタック
javascript
領域
data-visualization
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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