2012-04-12 17 views
5

के साथ एक पाई चार्ट अपडेट करना मैं हाईचर्ट्स पाई चार्ट को अपडेट करने का तरीका जानने का प्रयास कर रहा हूं लेकिन मेरे जीवन के लिए यह सही काम नहीं कर रहा है।हाइचार्ट्स: सेटडाटा()

मैंने प्रलेखन को देखा है और ठीक बार अपडेट करने के लिए बार और रेखा और स्पलीन ग्राफ प्राप्त करने में सक्षम हैं लेकिन पाई चार्ट के लिए इस फ़ंक्शन का उपयोग करते समय यह काम नहीं करता है।

मैं वर्तमान में खिला रहा हूँ:

item.setData([["none", 100]], true); 

कहाँ आइटम तो जैसे श्रृंखला बराबर है:

$.each(browser_chart.series, function(i, item){ 
    if(item.name == 'Browser share'){ 
     console.log(data.browsers); 
     item.setData([["none", 100]], true); 
    } 
}); 

क़ौम में कौन सा रूप में दिखाया गया है कि कैसे एक पाई चार्ट के लिए डेटा स्वरूपित किया गया है है। समस्या यह है कि यह श्रृंखला को सही ढंग से पढ़ नहीं सकता है। मैं कोशिश:

item.setData([\"none\", 100], true); 

और यह कुछ करने के लिए लगता है, लेकिन x और y मान सही (जो निश्चित रूप से यह गलत है इसका मतलब है) नहीं पढ़ सकते हैं।

क्या कोई यहां मुझे यह काम करने के लिए दिशा में इंगित कर सकता है?

धन्यवाद,

उत्तर

7

संपादित:
आप एक नया डेटा आप इस मामले में सभी पाई भागों के लिए सरणियों की सरणी के रूप में स्थापित करने के लिए सेट करते हैं।
मेरे Example में मेरे पास छह श्रेणियां हैं, इसलिए मुझे उन सभी के लिए डेटा सेट करना होगा। लेकिन मेरे सवाल का अधिक एक बालक शामिल है कि मैं ठीक से नहीं समझा था

var seriesData = []; 
$.each(browser_chart.series, function(i, item) { 
    if(item.name == 'Browser share'){ 
     seriesData.push(["serie"+i, someNumber]); 
    } 
}); 
chart.series[0].setData(seriesData, true); 
+0

हम्म कि काम नहीं किया लेकिन अपने उदाहरण मुझे बताओ क्यों नहीं किया। जब मैं पाई चार्ट अपडेट करता हूं तो मैं वास्तव में श्रृंखला में बिंदुओं को याद करता हूं क्योंकि कुछ ब्राउज़रों के पास मेरे उपयोगकर्ता द्वारा चुनी गई तिथि सीमा के लिए कोई मान नहीं है। ऐसा लगता है कि जब मैं मूल रूप से कम अंक के साथ अद्यतन करता हूं तो यह ठीक से अपडेट नहीं हो सकता है और एक ग़लत त्रुटि फेंकता है। क्या आप इसके बारे में किसी भी तरह से जानते हैं? – Sammaye

+0

मैं पाई चार्ट को नए हाइचार्ट्स के साथ रीमेक करके विभिन्न बिंदुओं के साथ काम करने में सक्षम हूं। चार्ट() लेकिन यह थोड़ी बदसूरत है, क्या यह करने का यही एकमात्र तरीका है? – Sammaye

0

मैं चिह्नित किया है Ricardos जवाब:

इसलिए, इस मामले में आप की तरह कुछ करना है।

मैं PHP बैकएंड द्वारा जेएसओएन से जेएसओएन से एजेक्स के माध्यम से पाई चार्ट अपडेट कर रहा था। जब मैंने पाई चार्ट में नया डेटा लगाया तो यह टूट जाएगा।

Ricardos जवाब मुझे पता करने में सक्षम था का उपयोग करते हुए यह है कि मैं यह तो जैसे रीमेक चाहिए, क्योंकि मैं तो मैं बस पाई चार्ट अद्यतन नहीं कर सकते अंक की एक अलग संख्या है:

browser_chart_config.series[0].data = data.browsers; 
browser_chart = new Highcharts.Chart(browser_chart_config); 

यह करने के लिए आप की अनुमति देगा जब आपके पास अलग-अलग बिंदु हों तो चार्ट अपडेट करें।

आशा है कि यह मदद करता है,

संपादित करें: मैं भी पता चला कि इस Highcharts साथ एक ज्ञात समस्या है: https://github.com/highslide-software/highcharts.com/issues/542

+0

यह केवल तभी काम करता है जब आप सभी सेरी डेटा सेट करते हैं, इसलिए आपके मामले में आपको चार्ट को नष्ट करना होगा और इसे फिर से करना होगा। : / –

संबंधित मुद्दे