2011-11-18 9 views
10

मेरे पास इतने सारे स्लाइस वाले पाई चार्ट हैं जो इसे पढ़ने में बहुत मुश्किल हैं। क्या स्लाइसों की संख्या को कम करना संभव है, केवल छोटे नामों को "दूसरों" नाम से, या उन्हें छुपाएं?हाईचार्ट्स: पाई चार्ट - स्लाइस की संख्या को कम करें

+2

क्या आप हाइचार्ट्स को इतनी सारी चीज़ें पास नहीं कर सके? चूंकि आप जो JSON भेजते हैं उसे नियंत्रित करते हैं, इसलिए आप उन्हें भेजने से पहले स्वयं को एकत्र कर सकते हैं। – mynameiscoffey

+0

संबंधित: http://stackoverflow.com/questions/28883606/group-smaller-slices-in-pie-charts-to-improve-readability –

+0

ओपी के रूप में, मुझे यह व्यवहार देखना अच्छा लगेगा: आप निर्दिष्ट करेंगे दिखाने के लिए स्लाइस की अधिकतम संख्या, "अन्य श्रेणी" के नाम के साथ-साथ सॉर्ट कॉलम और ऑर्डर का नाम। फिर हाईचार्ट स्वचालित रूप से अन्य शेष कॉलम को अन्य श्रेणी में एकत्र कर सकता है, और क्लिक किए जाने पर विवरण के साथ एक ड्रिल डाउन कर सकता है। साथ ही, निर्यात करते समय, आप सभी श्रेणियां देखेंगे (वहां कोई समूह नहीं है)। मैन्युअल रूप से दर्द करना सब कुछ करना। –

उत्तर

6

नहीं। यह व्यवहार हाईचार्ट्स में नहीं बनाया गया है।

इसे प्राप्त करने का सबसे आसान तरीका चार्ट पर आपके द्वारा पारित डेटा को मैन्युअल रूप से बदलना है। यदि आप डेटा पास करने से पहले श्रेणी को 'अन्य' में समूहबद्ध करते हैं और चार्ट

0

यहां कुछ जानकारी को उन लोगों के लिए एक सूचक के रूप में चिपकाते हैं जो उपरोक्त के बाहर जावास्क्रिप्ट के साथ उपरोक्त करना चाहते हैं, जैसे I खुद किया

for(i=0; i<dataJSON.finished.length; i++) { 
    //console.info(i); 
    if(dataJSON.finished[i].name !== '_all_' && dataJSON.finished[i].name !== 'Anders')   { 
     tempValue=0; 
     for(j=0; j<dataJSON.finished[i].data.length; j++) { tempValue += dataJSON.finished[i].data[j]; } 
     if(tempValue/totalValue > 0.02) { 
     pieData.push({ name:dataJSON.finished[i].name, y:tempValue }); 
     } else andersValue += tempValue; 
    } 
    } 

    //console.info(pieData); 
    pieData.sort(function(a,b) {return (a.y > b.y) ? -1 : ((b.y > a.y) ? 1 : 0);}); 
    pieData.push({ name: "Overig", y: andersValue }); 
संबंधित मुद्दे