2012-10-03 17 views
5

का उपयोग कर आईडी द्वारा एक बिंदु का चयन करना हाइचार्ट्स का उपयोग करके, मैं इसकी आईडी का उपयोग करके एक बिंदु कैसे चुन सकता हूं? उदाहरण के लिए, अगर मैं एक चार्ट निम्नलिखित कोड का उपयोग कर बनाने के लिए:हाईचार्ट्स

chart1 = new Highcharts.Chart({ 
     chart: { 
      renderTo: 'container', 
      type: 'scatter' 
     }, 
     title: { 
      text: 'Fruit Consumption' 
     }, 
     xAxis: { 
      categories: ['Apples', 'Bananas', 'Oranges'] 
     }, 
     yAxis: { 
      title: { 
       text: 'Fruit eaten' 
      } 
     }, 
     series: [{ 
      name: 'Jane', 
      data: [{ 
       name: 'Point1', 
       x: 1, 
       y: 2 
      }, { 
       name: 'Point2', 
       x: 2, 
       y: 5 
      }] 
     }, { 
      name: 'John', 
      data: [5, 7, 3] 
     }] 
     }); 
    }); 

टूलटिप मुझसे कहता है जब मैं किसी बिंदु पर होवर, क्या आईडी है। हालांकि, मैं उस बिंदु की पहचान करने के लिए वाक्यविन्यास नहीं समझ सकता। मुझे पता है कि chart1.series[0].name रिटर्न Jane. Also, chart1.series [0] .डेटा [0] .name returns बिंदु 1 'क्या कोई आसान तरीका है कि मैं केवल बिंदु का चयन कर सकता हूं और केवल' बिंदु 1 'को जानने वाले रंग को बदल सकता हूं?

मुझे आश्चर्य है कि हर बार सभी बिंदुओं के माध्यम से लूपिंग के अलावा कोई और अधिक प्रभावी तरीका है या नहीं।

+0

API दस्तावेज़ पढ़ना हमेशा सबसे अच्छा तरीका है कैसे कार्यों को पूरा करने के लिए सीखने के लिए है .. और यह एक विकल्प और सीखने/प्रशिक्षण के कुशल स्रोत है। :) http://api.highcharts.com/highcharts –

+2

मैंने लगभग दो साल पहले इस प्रश्न से पूछा था। उस समय दस्तावेज़ पर चर्चा नहीं हुई थी। – djq

उत्तर

9

आप प्रत्येक बिंदु के लिए id सेट कर सकते हैं।

series: [{ 
    name: 'Jane', 
    data: [{ 
     'name': 'Point1', 
     'id': 'point1', 
     'x': 1, 
     'y': 2 
    }, { 
     'name': 'Point2', 
     'id': 'point2', 
     'x': 2, 
     'y': 5 
    }] 
}, { 
    name: 'John', 
    data: [5, 7, 3] 
}] 

फिर आप निम्न कोड से बिंदु प्राप्त कर सकते हैं।

// assuming that chart is your chart var 
chart.get('point1'); 

demo

या आप की तुलना करने के points thrue एक id आप साधारण पाश कर सकते हैं स्थापित करने के लिए नहीं चाहते हैं तो name आप point name साथ लगाना चाहते हैं।

संदर्भ:

+0

स्वच्छ, सरल और कुशल। –

+0

इसके अलावा यह कुशल नहीं है। स्वच्छ और सरल सच रहता है लेकिन दृश्यों के पीछे हाई चार्ट की "chart.get()" विधि प्रत्येक श्रृंखला के माध्यम से और उस श्रृंखला में प्रत्येक एकल बिंदु को एक मैच खोजने के लिए पुनरावृत्त कर रही है। यह ओ (एन) डेटा सेट पर है जो पहले से ही x मान द्वारा क्रमबद्ध है। तो उच्चतरों का उपयोग कर एप्लिकेशन डेवलपर द्वारा कार्यान्वित एक बाइनरी खोज बेहतर दक्षता प्रदान करेगी क्योंकि आप इसे कम से कम ओ (लॉग एन) प्राप्त कर सकते हैं। – Sensei

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