2013-12-09 2 views
0

Ниже мой JSON формат данных, из которых я хочу создать круговую диаграмму в Highcharts ..Для создания PieChart в Highcharts

{ 
    "title": {"text": "Pie"}, 

    "series": 
    [ 
    { 
     "type": "pie", 
     "name": "Actual", 
     "data": 
     [ 
      [ 
       "Salesgrowth", 
       45 
      ], 
      [ 
       "marketshare", 
       26.8 
      ] 
     ] 
    } 
    ] 
} 

Это действительно JSON, я получаю этот выход из веб-службы, когда Я называю эту услугу, и вызвать этот метод для запуска этого вывода JSON, чтобы создать пирог, то я получаю ошибку следующим образом,

Uncaught TypeError: Cannot set property 'renderTo' of undefined 

Ниже функция JQuery, что я использую, чтобы назвать мой файл, в котором я хранимый этом выводе JSON с моего веб-сервиса,

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

--------- Обновленный вопрос ------ ниже мой выход JSON я изменил, чтобы получить значение

{ 
    "title":{"text":"Financial"}, 
    "chart":{"type":"pie"}, 
    "series": 
    [ {"name":"Actual-Market Share","data":["Market Share",30]},{"name":"Actual-Market Share","data":["Sales Growth",70]}]} 

и ниже выходной я получение,

Я не могу идентифицировать римента, что я точно баловаться с ... Любая идея будет иметь большую помощь ...

enter image description here

---------- Обновленный выход --------- -

{ 
    "legend":{"enabled":"true"}, 
    "title":{"text":"Financial"}, 
    "chart":{"type":"pie"}, 
    "series":[{"name":"Actual","data":[{"str":"Market Share","flo":20}]}, 
       {"name":"Actual","data":[{"str":"Sales Growth","flo":30}]}, 
       {"name":"Actual","data":[{"str":"Operating Profit","flo":40}]}, 
       {"name":"Actual","data":[{"str":"Gross Margin %","flo":10}]}]} 
+0

Не изменяйте объект серии. Тот, который вы отправили первоначально, выглядел отлично. Попробуйте мое решение с исходным объектом данных. – SteveP

+0

Эй @ SteveP .. Я сделал это ... но его не работает .. – Reshma

+0

Попробуйте еще раз. У меня была опечатка. – SteveP

ответ

1

Ваш json не включает объект диаграммы, поэтому установка chart.renderTo не будет работать.

Если вы можете изменить WebService, получить его, чтобы добавить следующие строки в формате JSON:

chart: { 
    }, 

Если вы не можете изменить задний конец, вы можете изменить JavaScript, чтобы добавить объект диаграммы перед установкой renderTo:

$.getJSON("val1.json", function (data) { 
      var chartoptions = data; 
      if (typeof chartoptions.chart === 'undefined') { 
       chartoptions.chart = {}; 
      } 
      chartoptions.chart.renderTo = 'container'; 
      chart = new Highcharts.Chart(chartoptions); 
     }); 
+0

Спасибо .. но если вы увидите мой обновленный вопрос, тогда вы узнаете, что я включил и тег графика. вы можете посмотреть обновленную проблему .. это будет очень благодарно за меня тогда. Спасибо, – Reshma

+0

.. вы можете проверить мой обновленный результат и сказать мне, что с ним не так .. Я не могу нарисовать круговую диаграмму ... – Reshma

+0

Данные вашей серии неверны. Вам нужен один объект серии с несколькими точками данных. Серия в вашем исходном коде была правильной. – SteveP

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