Документы CanvasJS показывают странные точки данных на оси X - PullRequest
0 голосов
/ 19 февраля 2019

Итак, я просматривал документы здесь: https://canvasjs.com/php-charts/multi-series-area-chart/

Он показывает массив точек данных следующим образом:

array("x" => 1451586600000, "y" => 96.709),
array("x" => 1454265000000, "y" => 94.918),
array("x" => 1456770600000, "y" => 95.152),
array("x" => 1459449000000, "y" => 97.070),
array("x" => 1462041000000, "y" => 97.305),
array("x" => 1464719400000, "y" => 89.854),
array("x" => 1467311400000, "y" => 88.158),
array("x" => 1469989800000, "y" => 87.989),
array("x" => 1472668200000, "y" => 86.366),
array("x" => 1475260200000, "y" => 81.650),
array("x" => 1477938600000, "y" => 85.789),
array("x" => 1480530600000, "y" => 83.846),
array("x" => 1483209000000, "y" => 84.927),
array("x" => 1485887400000, "y" => 82.609),
array("x" => 1488306600000, "y" => 81.428),
array("x" => 1490985000000, "y" => 83.259),
array("x" => 1493577000000, "y" => 83.153),
array("x" => 1496255400000, "y" => 84.180),
array("x" => 1498847400000, "y" => 84.840),
array("x" => 1501525800000, "y" => 82.671),
array("x" => 1504204200000, "y" => 87.496),
array("x" => 1506796200000, "y" => 86.007),
array("x" => 1509474600000, "y" => 87.233),
array("x" => 1512066600000, "y"=> 86.276)

А затем далее в разделе JSкод, он форматирует эти данные с помощью следующего кода:

xValueType: "dateTime",
xValueFormatString: "MMM YYYY",

Итак, мой вопрос заключается в том, как эти числа в ключе x в массиве переводятся в месяцы, как на этом прикрепленном изображении здесь?image of the chart in action

А также, как мне преобразовать объект php datetime для преобразования в эти числа в переменной x массива точек данных.

1 Ответ

0 голосов
/ 21 февраля 2019

CanvasJS - это библиотека JavaScript, которая принимает число / объект даты JavaScript / метку времени JavaScript как значение x.Поскольку у вас есть объект даты в PHP, сначала вы должны преобразовать дату и время PHP в метку времени PHP, используя strtotime .Затем вам нужно преобразовать его в метку времени JavaScript (умножить метку времени PHP на 1000).

И согласно документации , если вы предоставляете значения меток времени вместо объектов Dateвам придется явно установить xValueType в «dateTime».Поэтому, когда вы передаете метку времени в параметры диаграммы и устанавливаете для xValueType значение «dateTime», библиотека считает его датой-временем.

Примечание: В PHP метка времени - это значение, представленное в секундах.рассчитывается, начиная с эпохи UNIX, 1 января 1970 г. (также называемой меткой времени UNIX), которую вы называете номером.

...