2012-06-28 16 views
10

में कोई डेटा को संभालने के लिए एक सबसे अच्छा तरीका jqPlot के साथ "कोई डेटा" को संभालने के लिए है?कैसे jqPlot

जैसे, यह मानते हुए कि मैं एक ajax कॉल के साथ json डेटा लेने वाली हूँ, और अंत में कोई डेटा उपलब्ध है:

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

में हालत से Uncaught Error: No data specified यह एक बहुत मदद की। यदि कोई अपवाद फेंकने के बजाय, प्रस्तुत करने के लिए कोई डेटा नहीं है, तो JQPlot एक खाली साजिश वापस नहीं करना चाहिए? मेरे लिए यह एक वैध स्थिति है, त्रुटि नहीं ... – Stefan

उत्तर

13

मैं हमेशा एक शर्त है कि मैं अपने AJAX समारोह में जाँच, जो कोई के लिए जाँच करता है परिणाम है। फिर यदि कोई परिणाम न हो तो मैं एक चार्ट सेट करता हूं ताकि वह खाली दिखाई दे। इस कारण से var data = [[null]] करना चाहिए, जहां datajQuery.jqplot('chart', data, {}) की एक पैरामीटर है। data का मान किसी प्रकार के चार्ट पर निर्भर हो सकता है, इस प्रकार मैंने इसे लाइन, बार और पाई चार्ट के लिए परीक्षण किया और यह ठीक काम करता है।

वैकल्पिक रूप से आप कथा और साजिश की शायद अन्य भागों को छिपाने सकता है। मेरे लिए बस data सेट करना और किंवदंती हमेशा पर्याप्त है।

2

var data = [null]; कंसोल में त्रुटियों को ट्रिगर और जे एस स्क्रिप्ट निष्पादन आगे बंद हो जाएगा। बेहतर समाधान निम्न का उपयोग करना होगा।

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

यह बाद में किसी भी रेखांकन प्रिंट और/या में एफएफ/क्रोम/आईई शान्ति कोई त्रुटि के साथ जे एस स्क्रिप्ट निष्पादन जारी रहेगा। :-)

+0

मुझे यकीन नहीं है कि यह आपके लिए कैसे काम करता है - यह '$ .isArray (डेटा [0]) == झूठी || डेटा [0] .length == 0' में https://github.com/jqPlot/jqPlot/blob/1870d3beddd96dc62b948196c4eb9dfd5833e763/src/jqplot.core.js#L2063 – user60561

2

मेरे मामले में यह राही का जवाब देने के लिए विपरीत (शून्य के आसपास हो सकता है याद आ रही डबल कोष्ठक मुद्दा था), जिसका अर्थ मैं बोरो से सहमत था,

यह काम करता है: var data = [[null]]; और इस: var data = ['']; एक त्रुटि, एक बार अगर मैं एक से अधिक चार्ट या सिर्फ कोई डेटा के साथ एक है कोई फर्क नहीं पड़ता उत्पन्न करता है।

मैं jqPlot 1.0.9

त्रुटि मैं मिलता है चल रहा हूँ: jqPlot स्क्रिप्ट

if (0 == this.noDataIndicator.show) 
        throw new Error("No data specified"); 
संबंधित मुद्दे