0

У меня есть два столбчатых графа столбцов. Обе приведены нижеHighchart: xaxis Добавление дополнительных дат в случайном порядке

Оба содержат очень похожие данные с одинаковым количеством столбцов.

All Location jsfiddle

Location 3 jsfiddle

Оба имеют один и тот же код инициализации и данных является единственным различием между ними.

chart: { renderTo:'hcweeklySnapshotLoc_container', animation: { animation: true }, defaultSeriesType: 'column', height: 500, marginBottom: 140, zoomType: 'x' }, 
    credits: { enabled: false }, 
    plotOptions: { column: { dataLabels: { enabled: true }, stacking: 'normal' }, line: { lineWidth: 1, marker: { enabled: false, states: { hover: { enabled: true } } } }, series: { pointInterval: 7 }, spline: { lineWidth: 3, marker: { enabled: false, states: { hover: { enabled: true } } } } }, 
    title: { text: 'Location 3', x: -20 }, 
    tooltip: { formatter: function() { if(this.series.name == 'Target'|| this.series.name == 'Stretch' || this.series.name == 'Failure') { return '<b>'+ this.series.name +'</b><br/>' + Highcharts.dateFormat('%e %B %Y', this.x) +': <b>'+ this.y + '</b>' } else { return '<b>'+ this.series.name +'</b>' +'<br/>' + 'Week Ending :' + Highcharts.dateFormat('%e %B %Y', this.x) +': '+ this.y +'<br/>' + 'Total: '+ Math.round(this.point.stackTotal*Math.pow(10,2))/Math.pow(10,2);} } }, 
    xAxis: { dateTimeLabelFormats: { month: '%b %Y' }, minRange: 86400000, startOfWeek: 5, tickInterval: 604800000, tickmarkPlacement: 'on', title: { text: 'Week ending' }, type: 'datetime' }, 
    yAxis: { allowDecimals: false, min: 0, title: { text: 'Number of People' } } 

Другие местоположения (местоположение 1 и местоположение 2) также сталкиваются с той же проблемой, что и график всего местоположения.

Моя проблема заключается в том, что график «Все местоположения» показывает дополнительную отметку даты в конце, в то время как график местоположения 3 нет. Является ли это некоторой ошибкой в ​​Highcharts или это проблема с моими данными. Я использую MVC4/Razor для генерации высокочастотных диаграмм с использованием Highchart.Net

ответ

1

Причина, по которой это происходит, заключается в том, что ваша серия не все в порядке возрастания времени. То же самое верно для обеих ваших диаграмм. Причина, по которой All Locations выглядит хуже, заключается в том, что она угадывает по-разному о том, как отображать диаграмму. Если вы ставите свои временные ряды в хронологическом порядке, вам должно быть хорошо идти. См. Пример this.

Ваш код:

{ 
      data: [ 
       [Date.parse('05/31/2013 00:00:00'), 1], 
       [Date.parse('03/15/2013 00:00:00'), 3], 
       [Date.parse('05/03/2013 00:00:00'), 2], 
       [Date.parse('04/26/2013 00:00:00'), 3], 
       [Date.parse('03/29/2013 00:00:00'), 2], 
       [Date.parse('04/05/2013 00:00:00'), 1], 
       [Date.parse('03/22/2013 00:00:00'), 4], 
       [Date.parse('04/19/2013 00:00:00'), 6], 
       [Date.parse('05/17/2013 00:00:00'), 4], 
       [Date.parse('04/12/2013 00:00:00'), 1], 
       [Date.parse('05/24/2013 00:00:00'), 4], 
       [Date.parse('05/10/2013 00:00:00'), 1] 
      ], 
      name: 'Loc3', 
      type: 'column', 
      color: '#003E69', 
      lineWidth: 1, 
      pointInterval: 7 
     } 

Хронологический код:

{ 
      data: [ 
       [Date.parse('03/15/2013 00:00:00'), 3], 
       [Date.parse('03/22/2013 00:00:00'), 4], 
       [Date.parse('03/29/2013 00:00:00'), 2], 
       [Date.parse('04/05/2013 00:00:00'), 1], 
       [Date.parse('04/12/2013 00:00:00'), 1], 
       [Date.parse('04/19/2013 00:00:00'), 6], 
       [Date.parse('04/26/2013 00:00:00'), 3], 
       [Date.parse('05/03/2013 00:00:00'), 2], 
       [Date.parse('05/10/2013 00:00:00'), 1], 
       [Date.parse('05/17/2013 00:00:00'), 4], 
       [Date.parse('05/24/2013 00:00:00'), 4], 
       [Date.parse('05/31/2013 00:00:00'), 1] 
      ], 
      name: 'Loc3', 
      type: 'column', 
      color: '#003E69', 
      lineWidth: 1, 
      pointInterval: 7 
     } 
+0

На другой ноте, эта ошибка также возникает, когда нет данных для некоторых из точек, то есть я должен вставить нулевые значения с соответствующие даты. – user2427375

+0

Правильно. Если у вас есть времена для рядов, которые не являются непрерывными, вам нужно добавить null для этих точек. Однако есть варианты того, следует ли подключать нули или нет. – wergeld

 Смежные вопросы

  • Нет связанных вопросов^_^