У меня проблемы с правильной позицией пользовательской всплывающей подсказки на платной карте Plotly.js.Пользовательское позиционирование подсказки
Я использую метод l2p (для чего этот акроним стоит?) В сочетании с данными pointNumber, чтобы получить относительное позиционирование в тепловой карте. Это выглядит следующим образом:
x: point.xaxis.l2p(point.pointNumber[1]),
y: point.yaxis.l2p(point.pointNumber[0])
Но проблема в том, что она является относительно верхнего/левого происхождения тепловой карты SVG себя без наружных х- и у-меток по оси, так что я на самом деле не хватает, что и интересно, не существует ли встроенной функции для получения этой информации о местоположении напрямую? Проблема с использованием внешних divs в качестве области подсказки заключается в том, что они полностью расположены за пределами диаграммы, и мне нужна информация со ссылкой на верхнее/левое начало вне диаграммы и обозначение оси.
Что, кажется, работает, чтобы использовать ось частного _offset свойства и добавить его к й и у позиции выше, поэтому я получаю
x: point.xaxis.l2p(point.pointNumber[1]) + point.xaxis._offset,
y: point.yaxis.l2p(point.pointNumber[0]) + point.yaxis._offset
Но это выглядит довольно неприятным для меня. Может ли кто-нибудь указать мне на какую-то документацию или демонстрацию о том, как это сделать? для тепловой карты?
Hi Maximilian, Да, я знаю о свойствах событий pageX/Y, но моя точка - это интеграция с данными сюжета: как вы хотите получить доступ к базовым данным Plotly, которые вы наводили на себя? Именно по этой причине я использую событие 'plotly_hover', потому что это цель этого события, но, к сожалению, я не могу найти какую-либо информацию на страницеX/Y в данных ответа, которая бы решила проблему. – andi1984
@ andi1984: см. Обновленный фрагмент. Теперь он использует как данные, так и атрибуты pageX/Y. –
Thx для вашего обновления. Я могу понять, как использовать mousemove для обновления позиции и использовать встроенный внутренний для работы с данными. Но, честно говоря, этот подход выглядит как исправление вокруг Plotly API, чтобы сделать это возможным. Это способ сделать это наверняка, но я бы предположил, что я могу сделать то же самое в этом обратном вызове событий заговора! Так что это не тот ответ, о котором я думал. Тем не менее thx за помощь и ответ! Я дам вам щедрость, если это будет единственный ответ на мой вопрос в ближайшие дни. – andi1984