Настройка даты во всплывающей подсказке при включенной группировке данных - PullRequest
0 голосов
/ 18 января 2019

У меня есть диаграмма с включенной группировкой данных и всплывающая подсказка по осям x и y. У меня также есть таблица, которая показывает все данные, отображаемые на графике.

Проблема связана с большими наборами данных, когда пользователь наводит курсор на диаграмму, последняя дата, показанная во всплывающей подсказке оси X, не совпадает с последней датой, показанной в таблице. Вместо этого я думаю, что это показывает первую дату в наборе данных, которые были сгруппированы.

Я знаю, что у группировки данных есть опция аппроксимации, которая позволяет вам установить, какое значение будет отображаться (то есть открываться или закрываться). Однако эта настройка приближения применима только к значению, а не к дате. Я хочу, чтобы оба были установлены на «закрыть». Есть ли способ сделать это, что я просто скучаю?

Чтобы было понятно, какой набор данных группируется: [(1/1, 1), (1/2, 2), (1/3, 3), (1/4, 4)] с приближением, установленным как близкое

Подсказка оси x показывает 1/1, а ось y показывает 4, но я хочу, чтобы подсказка оси x показала 1/4.

1 Ответ

0 голосов
/ 25 января 2019

Highcharts dataGrouping выбирает группу точек, приближает значение группы и по умолчанию создает точку с датой первой точки и вычисленным значением всего набора. Вы можете переместить его в середину, установив dataGrouping.smoothed = true.

Однако вы можете настроить всплывающую подсказку, чтобы она отображала диапазон дат, например, Friday, Aug 14 - Sunday, Aug 16, 2015. Проверьте демо и код, размещенный ниже.

HTML:

<div id="container" style="height: 400px; min-width: 600px"></div>

<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<script type="text/javascript" src="https://www.highcharts.com/samples/data/three-series-1000-points.js"></script>

JS:

Highcharts.stockChart('container', {
  plotOptions: {
    series: {
      dataGrouping: {
        forced: true,
        approximation: 'average',
        smoothed: true,
        units: [
          ['day', [3]]
        ]
      }
    }
  },
  series: [{
    name: 'ADBE',
    data: ADBE,
    tooltip: {
      valueDecimals: 2
    }
  }]
});

Демо-версия: https://jsfiddle.net/BlackLabel/Lba4g3kj/

Ссылка API: https://api.highcharts.com/highstock/series.line.dataGrouping.approximation
https://api.highcharts.com/highstock/series.line.dataGrouping.smoothed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...