Столбчатая диаграмма Anystock неправильно показывает дату, когда данные сгруппированы с использованием outputTimezone - PullRequest
0 голосов
/ 19 июня 2020

Я использую anystock с гистограммой (V8.7.1). Я предоставляю диаграмму с данными в часовом поясе UT C, но я хочу, чтобы она отображалась в часовом поясе Буэнос-Айреса.

Когда точки не сгруппированы, дата и час верны, но если данные сгруппированы по дням, тогда метки всплывающих подсказок неверны. Суммированные значения не совпадают со значениями этих дней.

Если отображается 16-е, то должно быть 17-е. Там, где отображается 17-е, должно быть 18-е.

Я не знаю, не хватает ли мне какой-то конфигурации или что-то не так с моими данными.

Я был бы признателен за любую помощь. Спасибо.

var grouping;

anychart.onDocumentReady(function() {

  var dataTable = anychart.data.table("date");
  var chart = anychart.stock();

  loadData(dataTable);

  var mapping = dataTable.mapAs();

  mapping.addField("value", "number", "sum");

  var series = chart.plot(0).column(mapping);

  grouping = chart.grouping();
  grouping.levels([{
      unit: 'month',
      count: 1
    },
    {
      unit: 'day',
      count: 1
    }
  ]);

  chart.container("container");
  chart.draw();

  grouping.maxVisiblePoints(4);
  anychart.format.outputTimezone(180);

});

function groupByDay() {
  grouping.maxVisiblePoints(4);
}

function ungroup() {
  grouping.maxVisiblePoints(40);
}

function loadData(dataTable) {

  var data = [
    // grouped by day = 4
    {
      date: "2020-04-16T16:00:00Z",
      number: 1
    },
    {
      date: "2020-04-16T16:15:00Z",
      number: 1
    },
    {
      date: "2020-04-16T16:30:00Z",
      number: 1
    },
    {
      date: "2020-04-16T16:45:00Z",
      number: 1
    },

    // grouped by day = 8
    {
      date: "2020-04-17T16:00:00Z",
      number: 2
    },
    {
      date: "2020-04-17T16:15:00Z",
      number: 2
    },
    {
      date: "2020-04-17T16:30:00Z",
      number: 2
    },
    {
      date: "2020-04-17T16:45:00Z",
      number: 2
    },

    // grouped by day = 12
    {
      date: "2020-04-18T16:00:00Z",
      number: 3
    },
    {
      date: "2020-04-18T16:15:00Z",
      number: 3
    },
    {
      date: "2020-04-18T16:30:00Z",
      number: 3
    },
    {
      date: "2020-04-18T16:45:00Z",
      number: 3
    }

  ];

  dataTable.addData(data);
}
html,
body,
#container {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

#container {
  width: 100%;
  height: 90%;
  margin: 0;
  padding: 0;
}
<link href="https://cdn.anychart.com/releases/8.7.1/css/anychart-ui.min.css" rel="stylesheet"/>
<script src="https://cdn.anychart.com/releases/8.7.1/js/anychart-core.min.js?hcode=a0c21fc77e1449cc86299c5faa067dc4"></script>
<script src="https://cdn.anychart.com/releases/8.7.1/js/anychart-stock.min.js?hcode=a0c21fc77e1449cc86299c5faa067dc4"></script>
<script src="https://cdn.anychart.com/releases/8.7.1/js/anychart-exports.min.js?hcode=a0c21fc77e1449cc86299c5faa067dc4"></script>
<script src="https://cdn.anychart.com/releases/8.7.1/js/anychart-ui.min.js?hcode=a0c21fc77e1449cc86299c5faa067dc4"></script>
<script src="https://cdn.anychart.com/releases/8.7.1/themes/sea.js"></script>
<button onclick="groupByDay()">group by day</button>
<button onclick="ungroup()">ungroup</button>
<div id="container"></div>
...