Категория динамического набора Highcharts обновляет график, но показывает только точки, но не линии

0

У меня есть диаграмма типа Highchart LINE, которая корректно отображает линейный график. У меня есть кнопка для изменения данных динамически. Первый график отображает данные за 7 дней. На клике 14 дней диаграмма корректно отображает данные, но когда я использую.

function requestData(response,point){
...data fetching code......
var series = chart.series[0];
chart.series[1].setData(eval(oneArray),false,true);
chart.series[0].setData(eval(twoArray),false,true);
chart.xAxis[0].setCategories(json array, true,true);}

если я удалю chart.xAxis[0].setCategories(json array, true,true); то он показывает строки с правильными данными, но ось х - это только числа, мне нужно задать ось х с именем дней. В массиве json все правильно. Вот мой код диаграммы.

                   var chart;
                   chart = new Highcharts.Chart({
                   chart: {
                       renderTo: "progresschart",
                       type: "line",
                       events: {
                           load: requestData   
                       }
                   },
                   credits: {
                           enabled: false
                       },
                   title: {
                       text: "Calories Burned Vs Calorie Consumed"
                   },
                    xAxis: {

                           categories: [],
                           },

                   yAxis: {
                       title: {
                           text: "Calories"
                       },
                   },
                   series: [{
                       name: "Consumed",
                        data:[] 
                   },{
                       name: "Burned",
                        data:[] 
                   }],
                   exporting: {
                                enabled: false
                            }
              });
        });

Сначала массив категорий:

["Thu,28th", "Fri,29th", "Sat,30th", "Sun,1st", "Mon,2nd", "Tue,3rd", "Wed,4th"]

должен быть установлен массив:

["Thu", "Fri", "Sat", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Mon", "Tue", "Wed"]

Серия [1]:

[403.91604166667, 0, 0, 156.421875, 190.48708333333, 121.66145833333, 52.140625, 104.28125, 440.41447916667, 472.04645833334, 0, 178.3209375, 191.18229166666, 139.04166666667]

Серия [2]:

[100, 112, 0, 0, 360, 330, 141, 150, 100, 0, 0, 0, 0, 0]
  • 0
    Было бы очень неплохо приложить пример данных, иначе трудно сказать, что может пойти не так. Для серий и категорий.
  • 0
    @ PawełFus вопрос обновлен ..
Показать ещё 6 комментариев
Теги:
highcharts
yii

1 ответ

5
Лучший ответ

Вероятно, это ошибка в старой версии Highcharts, обновление до 3.0. 7+ должен решить эту проблему.

Рабочий пример: http://jsfiddle.net/24dXX/

Код:

    var arr = ["Thu", "Fri", "Sat", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Mon", "Tue", "Wed"],
        oneArray = "[403.91604166667, 0, 0, 156.421875, 190.48708333333, 121.66145833333, 52.140625, 104.28125, 440.41447916667, 472.04645833334, 0, 178.3209375, 191.18229166666, 139.04166666667]",
        twoArray = "[100, 112, 0, 0, 360, 330, 141, 150, 100, 0, 0, 0, 0, 0]";

    chart.series[1].setData(eval(oneArray), false, true);
    chart.series[0].setData(eval(twoArray), false, true);
    chart.xAxis[0].setCategories(arr, true, true);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню