2013-05-07 9 views
20

मुझे उच्चचापों के साथ कोई समस्या हो रही है जहां मेरे पास JSON कॉल द्वारा कई अलग-अलग चार्ट उत्पन्न किए जा रहे हैं।हाईचार्ट्स वाई-अक्ष न्यूनतम मान 0 पर सेट करें, जब तक नकारात्मक डेटा

इन चार्टों में से अधिकांश के लिए मुझे न्यूनतम वाई-अक्ष मान 0 पर सेट करने की आवश्यकता है, हालांकि कुछ मौके हैं जहां नकारात्मक मान दिखाना आवश्यक है। मैं हाईचार्ट्स को केवल 0 का न्यूनतम वाई-अक्ष मान रखने के लिए कैसे कह सकता हूं यदि डेटा में कोई नकारात्मक मान नहीं है, तो यह भी संभव है?

धन्यवाद

+0

लिंक सबसे अच्छा/सही समाधान करने के लिए, आप Highcharts 5.0 उपयोग कर रहे हैं और इसके बाद के संस्करण https://stackoverflow.com/a/41105873/2952405 –

उत्तर

2

आप अपनी खुद की समारोह जो जाँच है या नहीं, तो उपयुक्त टिक सेट नकारात्मक है तैयार कर सकते हैं। इस हासिल करने के लिए आपको tickPositioner http://api.highcharts.com/highcharts#yAxis.tickPositioner

9

आप अपने y- अक्ष को जोड़ सकते हैं का उपयोग करना चाहिए:

yAxis: { 
      title: { 
       text: 'Title of the y-axis' 
      }, 
      min: 0 // this sets minimum values of y to 0 
     }, 
+9

यह हमेशा मिनट सेट हो जाएगा करने के लिए 0 प्रश्न पूछा गया है, "मैं हाईचार्ट्स को केवल 0 का न्यूनतम वाई-अक्ष मान रखने के लिए कैसे कह सकता हूं यदि डेटा में कोई नकारात्मक मान नहीं है" – MurWade

+0

सही समाधान। कुछ यूआई स्पेस बचाओ – sansid1983

7

मैं एक समारोह setExtremes

var setMin = function() { 
    var chart = this, 
    ex = chart.yAxis[0].getExtremes(); 

    // Sets the min value for the chart 
    var minVal = 0; 

    if (ex.dataMin < 0) { 
    minVal = ex.dataMin; 
    } 

    //set the min and return the values 
    chart.yAxis[0].setExtremes(minVal, null, true, false); 
} 
तो आपके चार्ट में

का उपयोग कर बनाने के द्वारा इस हासिल की है, आप इसे इस तरह कहते हैं:

$('#container').highcharts({ 
    chart: { 
    events: { 
     load: setMin 
    } 
    }, 
}); 
3

आप से कर सकते हैं "मंजिल" नहीं, यह न्यूनतम के लिए न्यूनतम संभव मूल्य परिभाषित करता है। जब नकारात्मक मान जोड़े जाते हैं, तो वे दिखाई नहीं देंगे! (http://api.highcharts.com/highcharts/xAxis.floor)

yAxis: { 
    floor: 0 
} 

मैं जानता हूँ कि इस सवाल का एक लंबे समय पहले कहा गया है और इस संपत्ति के समय में मौजूद नहीं था। लेकिन मुझे बस इस समस्या का सामना करना पड़ता है और मुझे लगता है कि दूसरों को खोज करने में खुशी होगी।

3

जो विकल्प आप खोज रहे हैं उसे softMin कहा जाता है और इसे संस्करण 5.0.1 में पेश किया गया था। दस्तावेज़ इस प्रकार वर्णन करते हैं:

धुरी के लिए नरम न्यूनतम। यदि श्रृंखला डेटा न्यूनतम से अधिक है, तो अक्ष कम से कम रहेगी, लेकिन यदि श्रृंखला डेटा न्यूनतम है, तो अक्ष सभी डेटा दिखाने के लिए फ्लेक्स होगा।

yAxis: { 
    softMin: 0 
} 

http://api.highcharts.com/highcharts/yAxis.softMin

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