Как обрабатывать данные в JqPlot

Есть ли лучший подход для обработки "нет данных" с помощью JqPlot?

Предполагая, что я потребляю json-данные с помощью ajax-вызова, и, в конечном итоге, нет данных, например:

[['North'][0],['South'][0],['East'][0],['West'][0]]

Ответ 1

У меня всегда есть условие, что я проверяю мою функцию AJAX, которая не проверяет отсутствие результатов. Тогда, если никаких результатов не произойдет, я устанавливаю диаграмму так, чтобы она выглядела пустой. По этой причине var data = [[null]] должен делать, где data является параметром jQuery.jqplot('chart', data, {}). Значение data может зависеть от типа диаграммы, поэтому я тестировал его для строки, строки и круговой диаграммы, и он отлично работает.

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

Ответ 2

var data = [null]; приведет к ошибкам в консоли и продолжит выполнение JS script. Лучшим решением будет использование следующих.

var data = [''];
jQuery.jqplot('chart', data, {});

Это приведет к печати любых последующих графиков и/или продолжению выполнения сценариев JS без ошибок в консолях FF/Chrome/IE.:-)

Ответ 3

В моем случае это было противоположно ответу Рахи (возможно, недостающие двойные скобки вокруг нуля были проблемой), то есть я согласен с Boro;

Это работает: var data = [[null]]; и это: var data = ['']; генерирует ошибку, один раз, независимо от того, есть ли у меня несколько диаграмм или только один без данных.

Я запускаю jqPlot 1.0.9

Ошибка, которую я получаю: Uncaught Error: No data specified из условия в jqPlot script

if (0 == this.noDataIndicator.show)
                    throw new Error("No data specified");