Я надеюсь, что это краткое описание и изображение вызовут звонок с кем-то, у кого была похожая проблема и, следовательно, предложение / исправление.
У меня есть граф столбцов, к которому я добавляю данные динамически (с помощью jQuery, анализирующего файл XML).
по какой-то причине, после добавления данных, выравнивание различных рядов немного сбивается. проблема исправляется после того, как я переключаю одну из серий, становясь видимой / невидимой (щелкая серию в легенде).
когда я добавляю данные с помощью жесткого кодирования чисел, просто чтобы убедиться, что он работает, он прекрасно работает.
вот изображение:
желтая серия является последней серией, добавленной к графику, красная и фиолетовая серии выстраиваются в порядке после переключения видимости одной из 5 серий.
любая помощь будет принята с благодарностью!
ОБНОВЛЕНИЕ с информацией о данных:
- у меня есть 5 серий данных и 10 категорий по оси x
- я создаю многомерный массив данных при разборе файла XML
- длина массива равна 5, причем каждый из этих 5 индексов содержит массив длиной 10
- так выглядит массив после заполнения данными:
index #: 0 value: 0,0,0,0,0,0,0,0,0,0
index #: 1 value: 180,210,0,0,0,0,0,0,180,210
index #: 2 value: 22,4,0,0,0,0,0,0,22,4
индекс №: 3 значение: 0,0,0,0,0,0,0,0,0,0
index #: 4 value: 200,30,0,0,0,0,0,0,4,0
Я добавляю данные в диаграмму со следующим кодом JS:
for (var c_ary_bs = 0; c_ary_bs < ary_bs_schedule_orig.length; c_ary_bs++) {
chart.series[c_ary_bs].setData(ary_bs_schedule_orig[c_ary_bs]);
}
надеюсь, это поможет, спасибо!
ОБНОВЛЕНИЕ 2, дополнительная информация
Я жестко закодировал данные, добавляемые в массив, чтобы помочь определить проблему:
chart.series[0].setData([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
chart.series[1].setData([180, 210, 0, 0, 0, 0, 0, 0, 180, 210]);
chart.series[2].setData([22, 4, 0, 0, 0, 0, 0, 0, 22, 4]);
chart.series[3].setData([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
chart.series[4].setData([200, 30, 0, 0, 0, 0, 0, 0, 4, 0]);
alert('done')
когда срабатывает оповещение, столбцы графика выровнены правильно, после того, как я нажму «ок», чтобы закрыть оповещение, возникает проблема выравнивания, как показано на предыдущем изображении.