2017-01-31 4 views
0

У меня есть эти данные в формате JSON (chartData):Amcharts не может правильно разобрать DateTime из MySQL

[{ "Дата": "2017-01-24 12:00:00", "ор": «678.283»}, {«дата»: «2017-01-24
13:00:00», «op»: «616.854»}, {«date»: «2017-01-24 14:00: 00" , "ор": "611,969"}, { "дата": "2017-01-24 15:00:00 ", "ор": "602,912"}, ...

и отобразите его по следующему коду:

AmCharts.makeChart("chartdiv", { 
"type": "serial", 
"dataProvider": chartData, 
"categoryField": "date", 
"dataDateFormat": "YYYY-MM-DD JJ:NN:SS", 
"categoryAxis": { 
    "parseDates": true, 
    "labelRotation": 60,    
}, 
"graphs": [ { 
"valueField": "op"    
} ] 
}); 

Я создал формат, дополняющий https://www.amcharts.com/kbase/formatting-dates/. Диаграмма правильно анализирует дни, но не может отделить элементы за один день, поэтому они отображаются как одна вертикальная линия, см. resulting plot Может ли кто-нибудь помочь?

ответ

1

Вам необходимо установить minPeriod, который представляет минимальный интервал времени между каждой вашей точкой. По умолчанию minPeriod является ежедневным ("DD"), поэтому вы хотите настроить его для своих данных, которые кажутся почасовыми ("hh") из ваших данных образца.

AmCharts.makeChart("chartdiv", { 
    // .. 
    "categoryAxis": { 
    "parseDates": true, 
    "minPeriod": "hh", 
    "labelRotation": 60   
    }, 
    // .. 
}); 

Demo

+0

Отлично, спасибо! – Lukas