plotly / plotly/plotly.js

Mismatched Tooltip Behavior in Heatmap Charts with Line Chart Overlays

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

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

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

説明

Issue Description:
When using a heatmap chart in Plotly.js, the tooltip functionality displays the "z" heatmap value corresponding to the "x" and "y" coordinates of the cursor when dragging over the chart:

image

However, when a line chart is drawn over the heatmap, the tooltip displays the "z" heatmap value corresponding to the point on that line instead of the heatmap data:

image

Expected Behavior:
The tooltip should display the "z" value from the heatmap data when dragging over the heatmap chart, even if other types of charts (like line charts) are present on the same plot.

Investigation Findings:
Upon further investigation, it was discovered that the findHoverPoints function inside Plotly's _hover function needs to be called without the winX and winY arguments (or they should be ignored) for this functionality to work as expected.

Steps to Reproduce:

  1. Create a heatmap chart with associated data.
  2. Add a line chart overlay to the heatmap chart.
  3. Hover the cursor over the heatmap and observe the tooltip data.

Additional Inquiry:

  • Could you please confirm if the tooltip behavior change when a line chart is present on the heatmap was intentional?
  • If this change was deliberate, could you provide insights or documentation on the reasoning behind this decision?
  • Is there any API or configuration option to customize the tooltip behavior based on the chart layers present?

Additional Information:

  • Plotly.js version: plotly.js-cartesian-dist, version: 2.32.0
  • Browser: Chrome Version 127.0.6533.88 (Official Build) (64-bit)

This issue affects the ability to accurately view data in complex charts with multiple layers. Any insights or resolution steps would be greatly appreciated. Thank you for your attention to this matter.

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

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

はじめの一歩

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

調査の方向性

Plotly.js 2.32.0 を使用して、issue に記載されているヒートマップとラインオーバーレイのケースを再現し、その後 _hover 関数とその findHoverPoints の呼び出しを調べます。ヒートマップ上をドラッグしたときに、重ねられたラインの点ではなくカーソル位置におけるヒートマップの z 値が報告され、報告されたケースに対して動作が確認できれば完了です。

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

評価

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

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

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