2013-03-21 3 views
6

पर कॉल करने के बाद हाईचार्ट्स रीसेट ज़ूम 'मैं चार्ट में विस्तार से ज़ूम इन करने के लिए सेट एक्स्ट्रेम्स का उपयोग कर रहा हूं, साथ ही उपयोगकर्ता को चार्ट में चयन करके' x, y 'ज़ूम करने की इजाजत देता हूं। जब उपयोगकर्ता ज़ूम करता है, तो उन्हें 'रीसेट ज़ूम' बटन मिलता है, हालांकि जब मैं setExtremes को कॉल करता हूं, तो मैं नहीं करता हूं।सेटएक्स्ट्रेम्स

क्या मेरे लिए प्रोग्राम रीसेट करने के लिए 'रीसेट ज़ूम' बटन को मजबूर करने का कोई तरीका है?

अद्यतन:

if(!chart.resetZoomButton) { 
    chart.showResetZoom(); 
} 

afterSetExtremes ईवेंट हैंडलर बटन दिखाई देता है अंदर बुला है, लेकिन यह कुछ भी नहीं है पर क्लिक।

अद्यतन:

setExtremes बुला से

बल्कि, मैं

बुला लिए बदल दिया है

chart.xaxis [0] .zoom (ढीठ, मैक्स); chart.yaxis [0]। ज़ूम (miny, maxy); chart.redraw();

यह वही प्रभाव डालता है जैसे उपयोगकर्ता चार्ट पर चयन करके ज़ूम इन करता है।

उत्तर

10

बस Highcharts स्रोत कोड के आसपास एक नज़र था, इस तरह आप के लिए बाहर काम कर सकते हैं यह लग रहा है: बटन ठीक से कार्य करने के लिए

chart.showResetZoom(); 

इसके अलावा, क्रम में, आप axis.zoom के बजाय का उपयोग करना चाहिए चरम सीमाएं सेट करना:

axis.zoom(newMin,newMax); 

मुझे यह बताएं कि यह काम करता है!

+0

मैं x और y अक्ष के लिए afterSetExtremes ईवेंट हैंडलर के अंदर इस बुलाया। बटन अब चार्ट पर रहता है, लेकिन इसे क्लिक करने से कुछ भी नहीं होता है। – SteveP

+0

क्या आपने setExtremes के बजाय axis.zoom() का उपयोग करने का प्रयास किया है? इसे axis.zoom (newMin, newMax) कहा जाता है; शायद उस फ़ंक्शन से ज़ूम ईवेंट की ट्रिगरिंग बटन को सही तरीके से काम करेगी। एक विचार है। – MatthewKremer

+0

यदि आप एक http://JSFiddle.net भी स्थापित करते हैं, तो मैं इसे देख सकता हूं। – MatthewKremer

4

आप showResetZoom का उपयोग कर सकते हैं, लेकिन आपको यह जांचना होगा कि रीसेट बटन पहले से दिखाई दे रहा है, अन्यथा यह को निराश नहीं करेगा।

if(!chart.resetZoomButton) { 
    chart.showResetZoom(); 
} 
0

यह दृष्टिकोण अच्छी तरह से काम करता है:

if (!$('.highcharts-button').length) { 
    chart.showResetZoom(); 
} 

यह मानते हुए है कि केवल बटन दिखाया जा सकता है "रीसेट ज़ूम" बटन है। यदि यह पहले से मौजूद है, तो दूसरा मत दिखाएं।

यदि आप यह चेक नहीं करते हैं, तो प्रत्येक बार जब आप showResetZoom() पर कॉल करते हैं तो एक नया बटन जोड़ा जाता है। दृश्यमान (सबसे हालिया) बटन पर क्लिक करने से ज़ूम रीसेट हो जाता है और बटन हटा दिया जाता है लेकिन पुराने बटन अभी भी दिखाई दे रहे हैं और कुछ भी नहीं करते हैं।

0

आप setExtremes उपयोग कर रहे हैं तो आप भी पुनर्स्थापित करने के लिए शून्य पर न्यूनतम और अधिकतम सेट कर सकते हैं:

chart.xAxis[0].setExtremes(null, null)