2012-07-02 18 views
5
ज़ूम करने के लिए

मैं डी 3 के लिए नया हूँ माउस क्लिक करें और खींचें का उपयोग करने और चाहते हैं एक के समान क्लिक के ड्रैग ज़ूम लागू करने के लिए यहाँ क्या दिखाया गया है: http://www.highcharts.com/demo/line-time-seriesकैसे डी 3

मैं पहले से ही एक लाइन ग्राफ़ है मैं बनाया है, लेकिन इस बारे में उलझन में है कि इसे कैसे कार्यान्वित किया जाए।

मुझे लगता है कि मुझे कुछ जेएस इवेंट हैंडलर चाहिए ताकि यह पता चल सके कि मेरा मूसडाउन और माउसअप कहाँ होता है। लेकिन उपयोगकर्ता ड्रैगिंग करते समय ग्राफ पर होने वाली छायांकन कैसे बना सकता हूं?

उत्तर

4

शायद आप d3.js में ऐसा करने के लिए brush का उपयोग करना चाहेंगे। आप एक उदाहरण देख सकते हैं जिसे मैंने http://bl.ocks.org/1962173 पर एक साथ रखा जो कुछ समान करता है।

प्रासंगिक कोड है:

var brush = d3.svg.brush() 
    .x(x) 
    .extent([d3.time.monday(now),d3.time.saturday.ceil(now)]) 
    .on("brush", display); 

जहां display एक समारोह है कि brush की वर्तमान सीमा तक के आधार पर डेटा redraws है। इस तरह आपको अपने हैंडलर को आजमाने और हुक करने की आवश्यकता नहीं है या यहां तक ​​कि हाइलाइट किए गए क्षेत्र का आकार बदलने की भी चिंता नहीं है।