Ошибка при попытке инициализировать ползунок диапазона на графике

Я уверен, что это работало вчера и не может на всю жизнь понять, что изменилось.

Я инициализирую бегунок диапазона рикши с помощью этого кода:

var preview = new Rickshaw.Graph.RangeSlider( {
graph: graph,
element: document.getElementById('preview'),
} );

Но пока эти строки присутствуют, я запускаю цепочку ошибок (и мой ползунок не отображается):

Uncaught TypeError: Cannot read property 'x' of undefined rickshaw.js:487
  (anonymous function) rickshaw.js:487
  dataDomain rickshaw.js:487
  Rickshaw.Graph.RangeSlider.Rickshaw.Class.create.build Rickshaw.Graph.RangeSlider.js:23
  Rickshaw.Graph.RangeSlider.Rickshaw.Class.create.initialize Rickshaw.Graph.RangeSlider.js:12
  klass rickshaw.js:182
  (anonymous function) chart:356

Основываясь на моих очень ограниченных знаниях JS, похоже, что он сталкивается с проблемой, когда пытается определить минимальное / максимальное значения графика... что кажется странным, учитывая, что, по-видимому, ось Y делает то же самое и работает нормально. Есть идеи, что происходит?

Вы можете увидеть код в прямом эфире здесь: http://azteccloud.com/chart

1 ответ

Решение

Я столкнулся с той же самой проблемой, и после изучения проблемы я нашел фактическую проблему.

Когда вы инициализируете "Rickshaw.Graph.RangeSlide", вы должны инициализировать "Rickshaw.Graph" с некоторыми данными серии. Даже если у вас еще нет данных. Вы можете инициализировать его с 0. Например

var seriesData = [{x:0,y:0}];

Это решит вашу ошибку. Спасибо

Другие вопросы по тегам