2016-06-16 4 views
1

Я использую highchart js для создания линейной диаграммы. Я использую php для ответа json. Проблема заключается в том, что я заполняю диаграмму из ответа, который показывает годы, но линия не рисует.Заполнение многострочной линии с массивом объектов

$(document).ready(function() { 
    $.ajax({ 
     type: "GET", 
     url: 'resp_highChart.php', 
     dataType: "json", 
     contentType: "application/json", 
     success: function (response) { 
      console.log(response); 
      // draw chart 
      $('#container').highcharts({ 
       chart: { 
       type: 'line' 
      }, 
      title: { 
       text: 'Year Wise Sales Data' 
      }, 
      subtitle: { 
       text: '' 
      }, 
      xAxis: { 
       categories: ['Jan', 'Feb', 'Mar', 'Apr'] 
      }, 
      yAxis: { 
       title: { 
        text: 'Sold Value' 
       }, 
       labels: { 
        formatter: function() { 
         return this.value + ''; 
        } 
       } 
      }, 
      plotOptions: { 
       line: { 
        dataLabels: { 
         enabled: false 
        }, 
        enableMouseTracking: true 
       } 
      }, 
       series: response 
      }); 

     } 


    }); 

}); 

мой формат ответа ниже

[{"name":"2012","data":"[692101643,716334837,776991835,769420169 ]"},{"name":"2013","data":"[860859252,825852169,895524501,892930333 ]"}] 

ответ

1

Проблема здесь состоит в том, что ваши значения данных считываются как строки и не массивы.

Я создал пример скрипку, используя параметры диаграммы и данные в формате JSON непосредственно вставленные: http://jsfiddle.net/brightmatrix/143bzv1s/

Диаграмма корректно работает с форматом следующим образом. Обратите внимание, что в массивах данных нет меток кавычек.

series: [ 
    {"name":"2012","data":[692101643,716334837,776991835,769420169 ]}, 
    {"name":"2013","data":[860859252,825852169,895524501,892930333 ]} 
] 

Надеюсь, это полезно для вас!

Кроме того, большое спасибо за то, что вы включили образцы данных в свой вопрос. Это было чрезвычайно полезно.

+0

Благодарим за ответ. Я использую json_encode для преобразования ответа на json по этой причине. Quote добавляется в массив данных. Как я могу удалить метки кавы из массива данных. –

+0

Я нашел несколько сообщений о переполнении стека, которые могут быть полезны для удаления этих котировок: 1) http://stackoverflow.com/questions/8837659/remove-double-quotes-from-a-json-encoded-string-on -ключи; 2) http://stackoverflow.com/questions/30176800/php-json-encode-remove-quotes-from-value; 3) http://stackoverflow.com/questions/21369881/remove-quotes-from-json-encode-keys; 4) http://stackoverflow.com/questions/13938645/remove-double-quote-in-json-encode –

+1

Спасибо .. за ваш быстрый ответ ... эти сообщения действительно полезны –

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