Всплывающая подсказка всегда отображает фактический 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

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