मैं हाईचार्ट्स के चार्ट "अनियमित अंतराल के साथ समय डेटा" का उपयोग कर रहा हूं। जैसा कि आप जानते हैं कि जब माउस लाइन के बिंदुओं पर चलता है तो फॉर्मेटर फ़ंक्शन चलता है और कुछ जानकारी दिखाता है। मैं इस बिंदु के सूचकांक को जानना चाहता हूं कि माउस उस पर चलता है। तो यदि माउस लाइन के पहले बिंदु पर चलता है, तो टूलटिप "1" दिखाता है और दूसरा बिंदु "2" दिखाता है और इसी तरह। thnx।हाईचार्ट्स में किसी बिंदु की अनुक्रमणिका कैसे प्राप्त करें?
उत्तर
यह मेरे लिए काम किया v2.2 का उपयोग कर:
this.series.data.indexOf(this.point)
मेरे लिए भी काम किया। सरल! –
उत्कृष्ट, लघु और सरल !!! हालांकि मुझे नहीं लगता कि आपको ** इस.point ** (कोष्ठक में) की आवश्यकता है, केवल ** यह ** –
यह स्वीकार्य उत्तर होना चाहिए। स्वीकृत उत्तर एक बदसूरत हैक है। –
यह हैकी के रूप में आता है, और अंक के बहुत से नरक के रूप में धीमा हो जाएगा, लेकिन यह काम करेगा।
tooltip: {
formatter: function() {
for(var i=0;i<this.series.data.length;i++){
var item = this.series.data[i];
if(item.x == this.x && item.y == this.y)
return 'point ' + i;
}
return 'not found'
}
}
लाइव उदाहरण: http://jsfiddle.net/Fuv4h/
यह वही है जो मैं चाहता हूं। लेकिन जैसा कि आपने बताया है कि लाइन को अंक से भरा होने पर विशेष रूप से निष्पादित करने में इतना समय लगता है। बीटीडब्ल्यू मैं आपको धन्यवाद देता हूं। – Morteza
एक तरह से पूर्व की प्रक्रिया के लिए डेटा है सामान्य विचार 'श्रृंखला के डेटा में सभी बिंदुओं के माध्यम से देखने के लिए जब तक आप वर्तमान बिंदु मिलान एक मिल रहा है इंडेक्स के साथ एक संपत्ति है।
function prepare(dataArray) {
return dataArray.map(function (item, index) {
return {x: item[0], y: item[1], myIndex: index};
});
};
{ x: x, y: y, myIndex: i}
की तरह एक वस्तु होने की [x, y]
की सरणी परिवर्तित करने के लिए: स्नो गहराई उदाहरण में आप इस तरह की तैयारी कर सकता है। फिर इसके साथ फ़ॉर्मेटर में है कि सूचकांक को लेने के लिए आसान:
formatter: function() {
return 'point ' + this.point.myIndex;
}
उदाहरण पर jsfiddle
यह कोड अधिक तेज़ लगता है। मैं इसे अपने प्रोजेक्ट में जितनी जल्दी हो सके परीक्षण कर सकता हूं। थेंक्स ईल्सन। – Morteza
हां, यह सूचकांक की खोज करने से तेज़ होना चाहिए, लेकिन अधिक मेमोरी का उपयोग करेगा। – eolsson
वाह ..अब मुझे पता चला है कि मैं ऑब्जेक्ट सरणी में नाम, एक्स, वाई, नोट के अलावा और अधिक विशेषताओं को जोड़ सकता हूं। उस –
रिकॉर्ड अपने एक अच्छा तरीका में सीधे यह कर सकते हैं के लिए
यह में दुकान है:
this.points[0].point.x
यह मेरे लिए काम करता है, सुनिश्चित नहीं है कि आप क्यों नीचे उतर गए हैं। – MightyPork
मैं आपको बता सकता हूं कि यह क्यों कम हो गया: क्योंकि यह एक्स की सामग्री पर निर्भर करता है। मेरे मामले में एक्स एक तारीख थी, इसलिए मुझे तिथियां मिलीं। हालांकि 'श्रृंखला मैपिंग' का उपयोग करके मैंने अपने सीएसवी के तीसरे कॉलम को एक वास्तविक इंडेक्स में मैप किया और फिर इस लाइन का उपयोग करके इसे एक्सेस किया :) मेरे द्वारा +1 –
चूंकि डेटा सॉर्ट किया गया है, तो आप binary search का उपयोग कर सकते हैं।
एक बाइनरी खोज को बड़ी संख्या में अंक (विकिपीडिया लेख से: "के लिए भी अच्छा प्रदर्शन करना चाहिए: उदाहरण के लिए, दस लाख वस्तुओं की सूची खोजने के लिए रैखिक खोज के साथ एक मिलियन पुनरावृत्तियों को लेते हैं, लेकिन कभी भी नहीं द्विआधारी खोज साथ बीस पुनरावृत्तियों "
उदाहरण:।
var bsComparator = function(a, b) {
if (a.x < b.x) { return -1; }
if (a.x > b.x) { return 1; }
return 0;
};
var binarySearch = function(series_data, point) {
var low = 0, high = series_data.length - 1,
i, comparison;
while (low <= high) {
i = Math.floor((low + high)/2);
comparison = bsComparator(series_data[i], point);
if (comparison < 0) { low = i + 1; continue; }
if (comparison > 0) { high = i - 1; continue; }
return i;
}
return null;
};
tooltip: {
formatter: function() {
var pointIndex = binarySearch(this.series.data, this.point);
return "Point index: " + pointIndex;
}
}
(binarySearch समारोह ऊपर http://www.dweebd.com/javascript/binary-search-an-array-in-javascript/ से प्रेरित है)
सौ आपके जैसे रुझानों को केवल xAxis मान की आवश्यकता है (यानी। पहर)। उपयोग करें: this.xData.indexOf(point.x)
इस पॉइंट को बड़ी श्रृंखला में समूहीकृत किया जाएगा, इसलिए अंक [0] ... अंक [n] के माध्यम से गहरी खोज की आवश्यकता होगी।
यह सब है कि Highstock जे एस v4.2.4 पर मेरे लिए काम किया है:
var index = this.points[0].point.dataGroup.start;
- 1. एक क्वेरीसेट में किसी तत्व की अनुक्रमणिका प्राप्त करें
- 2. सूची की अंतिम अनुक्रमणिका कैसे प्राप्त करें?
- 3. एप्पलस्क्रिप्ट में लूप की अनुक्रमणिका कैसे प्राप्त करें?
- 4. हाईचार्ट्स
- 5. Backbone.js: बैकबोन संग्रह में किसी मॉडल की अनुक्रमणिका कैसे प्राप्त करें?
- 6. जावास्क्रिप्ट: एक एसोसिएटिव सरणी में किसी ऑब्जेक्ट की अनुक्रमणिका कैसे प्राप्त करें?
- 7. पायथन सूची में वर्ण की अनुक्रमणिका प्राप्त करें
- 8. एनएसपीड्रेक्ट का उपयोग करके एनएसएआरएआरई की अनुक्रमणिका कैसे प्राप्त करें?
- 9. रूबी: न्यूनतम सरणी तत्व की अनुक्रमणिका कैसे प्राप्त करें?
- 10. किसी सरणी में किसी आइटम का इंडेक्स कैसे प्राप्त करें
- 11. एक स्ट्रिंग की nth घटना की अनुक्रमणिका प्राप्त करें?
- 12. पायथन - टुपल्स की पहली अनुक्रमणिका की सूची प्राप्त करें?
- 13. रूबी में एक स्ट्रिंग में किसी चरित्र की अनुक्रमणिका कैसे प्राप्त करूं?
- 14. हाईचार्ट्स
- 15. हाईचार्ट्स
- 16. सी में स्ट्रिंग के भीतर किसी वर्ण की अनुक्रमणिका कैसे प्राप्त करूं?
- 17. मैं किसी आइटम की अनुक्रमणिका को सरणी में कैसे प्राप्त करूं?
- 18. हाईचार्ट्स
- 19. एक पायथन सूची में, किसी निश्चित अनुक्रमणिका पर मूल्य कैसे प्राप्त करें?
- 20. जेटीएस का उपयोग करना, बाहरी बिंदु से बहुभुज की सीमा पर निकटतम बिंदु कैसे प्राप्त करें?
- 21. बच्चे divs से पैरेंट div की अनुक्रमणिका प्राप्त करें
- 22. किसी विशेष अनुक्रमणिका
- 23. हाईचार्ट्स, एक श्रेणी टॉगल करें?
- 24. लेआउट में बच्चे की अनुक्रमणिका कैसे वापस करें?
- 25. jQuery में किसी छवि की वर्तमान स्थिति कैसे प्राप्त करें?
- 26. शैल चर में किसी वेबपृष्ठ की सामग्री कैसे प्राप्त करें?
- 27. जावास्क्रिप्ट किसी ऑब्जेक्ट में बच्चों की संख्या कैसे प्राप्त करें
- 28. किसी ग्रहण में कर्सर की स्थिति कैसे प्राप्त करें TextEditor
- 29. एंड्रॉइड में किसी फोन की एसएमएससी संख्या कैसे प्राप्त करें?
- 30. स्टैकपैनल में किसी तत्व की स्थिति कैसे प्राप्त करें?
एडगर के जवाब सबसे अच्छा प्रतीत होता है, कोई संसाधन की आवश्यकता। –