2012-02-10 2 views
0

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

У меня есть графа столбца, что я добавляю данные динамически (через jQuery разбор XML-файла).

По какой-то причине после добавления данных выравнивание в разных сериях немного отходит. проблема исправляется после того, как я переключил одну из серий, будучи видимой/невидимой (щелкнув серию в легенде).

, когда я добавляю данные через hardcoding номера, просто чтобы убедиться, что он работает, он отлично работает.

здесь изображение: enter image description here

желтой серия последняя серия добавляется к диаграмме, красным и фиолетовым серии выстраиваются в линии ОК после того, как переключив видимость одной из серий 5.

всякая помощь была бы принята с благодарностью!

UPDATE с информацией о данных:

  • У меня есть 5 серий данных и 10 категорий по оси X
  • я строю многомерный массив данных, как я разобрать файл XML
  • длина массива равна 5, причем каждый из этих 5 индексов содержит массив длиной 10
  • Вот как выглядит массив после того, как он заселен данными:

индекс #: значение 0: 0,0,0,0,0,0,0,0,0,0

индекс #: 1 значение: 180,210,0,0,0,0,0 , 0.180.210

индекс #: 2 значение: 22,4,0,0,0,0,0,0,22,4

индекс #: 3 значение: 0,0,0,0,0 , 0,0,0,0,0

индекс #: 4 значения: 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]); 
    } 

надеюсь, что это поможет, спасибо!

UPDATE 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') 

, когда предупреждение пожаров, график колонны выравниваются правильно, после того, как я нажимаю «ok», чтобы отклонить предупреждение, проблема выравнивания происходит, как показано на предыдущем изображении.

+0

Можете ли вы опубликовать некоторые данные, которые вызывают это? Еще лучше было бы создать пример на jsfiddle. – malonso

+0

@malonso спасибо за ваше время, я обновил свой вопрос с информацией о данных – Seth

+0

Мне очень жаль, что я не могу дать вам ответ, но, похоже, это может быть ошибкой. Чтобы не тратить прочь от SO, но я мог бы предложить разместить на форуме HC (http://highslide.com/forum/viewforum.php?f=8); Торстейн и его группа велики и обычно вполне отвечают. Извините, мне жаль, что у меня не было новостей. – malonso

ответ

0

Я нашел несовершенный исправление:

-настройка на MarginLeft диаграммы до 70 снимает вопрос с колонки не выравнивая

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

yAxis: { 
     title: { 
      x:-20, 
      text: 'Schedule Days' 
     } 
    } 

(обратите внимание, что х: -20)

что странно, что когда я переключать одну О f серия (щелкнув ее в легенде) текст заголовка yAxis вернется туда, где он должен быть (что теперь отключено на 20 пикселей из-за вышеупомянутого исправления).

Идеальное исправление поместило бы текст yAxis, где он находится после того, как я переключу одну из серий, но по крайней мере таким образом она теперь видна независимо от того, переключает ли пользователь серию.

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