Всплывающая подсказка всегда отображает фактический X, но интерполированный Y только при наличии данных (в областях без Javascript

Форум по Javascript
Ответить
Anonymous
 Всплывающая подсказка всегда отображает фактический X, но интерполированный Y только при наличии данных (в областях без

Сообщение Anonymous »

Я пытаюсь создать линейную диаграмму, на которой:
  • указатель оси свободно перемещается в любом месте вдоль оси X (без привязки к данным).
  • В подсказке всегда отображается точное значение X под курсором.
  • Значение Y во всплывающей подсказке должно отображаться только тогда, когда курсор имеет реальные точки данных (посредством интерполяции).
  • Когда курсор находится в разделе нет данных или будущее, Y не должно отображаться, но во всплывающей подсказке по-прежнему отображается X.
В настоящее время я использую собственный форматтер с моей собственной функцией интерполяции. Курсор перемещается свободно, если я установил:

Код: Выделить всё

tooltip: {
trigger: 'axis',
axisPointer: { type: 'line', snap: false },
formatter: params => {
const x = params[0].axisValue;
const y = interpolateY(x);

return `[b]X: ${x.toFixed(2)}[/b]
` +
`[b]Y: [/b]${y !== null ? y.toFixed(2) : ''}`;
}
},
И я возвращаю значение Y только тогда, когда интерполяция действительна.
Однако я обеспокоен тем, что это может быть не «правильный» подход ECharts — и есть ли лучший шаблон или новый API для поддержки такого поведения (например, всегда показывать всплывающую подсказку X, опционально показывать Y только при наличии реальных данных). Существует ли собственный метод ECharts для этого шаблона? Если нет, разумно ли предложить это в качестве запроса на функцию?
Я также просмотрел существующее обсуждение API привязки axisPointer, но в нем напрямую не рассматривается отображение фактического X при условном отображении Y во всплывающей подсказке.
В подсказке должно быть указано x:7,9 и Y: нет данных
Изображение


Подробнее здесь: https://stackoverflow.com/questions/798 ... ists-no-to
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»