AM диаграмма, не отображающая правильную дату

Я совершенно не знаком с диаграммой AM, пытаясь построить гистограмму и линейную диаграмму с предоставленным источником данных с осью категории в качестве даты и установить parseDates = true. Во время рендеринга график месяцев меняется. Для данных, когда пробурено до нескольких месяцев, говорят, что бар апреля сидит на майской линии сетки (как на рис.), Как мне переместить его в правильном порядке, когда в годовом разрезе Dec сидит на линии сетки следующего года (Dec 2004 год - в 2005 году). Есть все равно, чтобы исправить это?

У меня есть ось моей категории, как следует

"categoryAxis": {
 "minPeriod": "hh",
 "parseDates": true,
 "labelRotation": 45,
 "labelOffset": 0,
 "centerLabelOnFullPeriod": false,
 "dateFormats": [ 
 {period:'hh',format:'JJ:NN'},
 {period:'DD',format:'MMM DD'},
 {period:'WW',format:'MMM DD'},
 {period:'MM',format:'MMM YYYY'},
 { period: 'YYYY', format: 'YYYY' }],

Любая помощь по этому поводу очень ценится,

Предоставляется JSFiddle

3 ответа

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

Например, вместо использования...

{ "DateField": "2009-05-31T00:00:00", "Value1": 126.00, "Value2": -46.00, "Value3": 80.00, "Value4": 172.00 }
{ "DateField": "2009-06-30T00:00:00", "Value1": 132.00, "Value2": -49.00, "Value3": 83.00, "Value4": 181.00 }

используйте это вместо этого...

{ "DateField": "2009-05-01T00:00:00", "Value1": 126.00, "Value2": -46.00, "Value3": 80.00, "Value4": 172.00 }
{ "DateField": "2009-06-01T00:00:00", "Value1": 132.00, "Value2": -49.00, "Value3": 83.00, "Value4": 181.00 }

Я также заметил, что у вас есть ошибка в компонентах графика. Вы задали значение lineThickness как liValue3hickness

{
 "balloonText": "[[title]]: [[value]]% ([[category]])",
 "liValue3hickness": 3, /*SHOULD BE "lineThickness" : 3,*/
 "title": "Value3",
 "valueField": "Value3",
 "lineColor": "#FFC000"
 }


Попробуйте добавить свойство equalSpacing

categoryAxis: {
 parseDates: true,
 equalSpacing: true,
}

Чтобы вручную настроить размер, используйте columnWidth

graphs: [{
 type: 'column',
 columnWidth: .5 // Half of a full column
}]


Я изменил ширину столбца на "columnWidth": 0.5, установите "minPeriod": "MM" и "dateFormats": [

{period:'MM',format:'MMM YYYY'},
 { period: 'YYYY', format: 'YYYY' }],

Это сработало для меня, спасибо, что помогли мне, Саймон, ты дал мне представление,

licensed under cc by-sa 3.0 with attribution.