चार्टज में "0" के रूप में स्टार्ट वैल्यू कैसे सेट करें?


109

यहाँ मेरा कोड है मुझे x और y अक्ष तराजू दोनों में "0" के रूप में प्रारंभिक मान सेट करने की आवश्यकता है। मैंने नवीनतम संस्करण तराजू विकल्प की कोशिश की है।

graphOptions = {               
            ///Boolean - Whether grid lines are shown across the chart
            scaleShowGridLines: false,    
            tooltipTitleTemplate: "<%= label%>",
            //String - Colour of the grid lines
            scaleGridLineColor: "rgba(0,0,0,.05)",
            //Number - Width of the grid lines
            scaleGridLineWidth: 1,
            //Boolean - Whether to show horizontal lines (except X axis)
            scaleShowHorizontalLines: true,
            //Boolean - Whether to show vertical lines (except Y axis)
            scaleShowVerticalLines: true,
            //Boolean - Whether the line is curved between points
            bezierCurve: true,
            //Number - Tension of the bezier curve between points
            bezierCurveTension: 0.4,
            //Boolean - Whether to show a dot for each point
            pointDot: true,
            //Number - Radius of each point dot in pixels
            pointDotRadius: 4,
            //Number - Pixel width of point dot stroke
            pointDotStrokeWidth: 1,               
            pointHitDetectionRadius: 20,               
            datasetStroke: true,
            datasetStrokeWidth: 2,
            datasetFill: true,               
            legendTemplate: "<ul class=\"<%=name.toLowerCase()%>-legend\"><% for (var i=0; i<datasets.length; i++){%><li><span style=\"background-color:<%=datasets[i].strokeColor%>\"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>"
        };
        var LineChart = new Chart(ctx).Line(graphData, graphOptions);
   }     

जवाबों:


298

Chart.js 2. * के लिए, शून्य पर शुरू करने के पैमाने का विकल्प रैखिक पैमाने के कॉन्फ़िगरेशन विकल्पों के तहत सूचीबद्ध है । यह संख्यात्मक डेटा के लिए उपयोग किया जाता है, जो कि संभवतः आपके y- अक्ष के मामले में होना चाहिए। तो, आपको इसका उपयोग करने की आवश्यकता है:

options: {
    scales: {
        yAxes: [{
            ticks: {
                beginAtZero: true
            }
        }]
    }
}

एक नमूना लाइन चार्ट यहां भी उपलब्ध है जहां वाई-अक्ष के लिए विकल्प का उपयोग किया जाता है। यदि आपका संख्यात्मक डेटा x- अक्ष पर है, तो xAxesइसके बजाय का उपयोग करें yAxes। ध्यान दें कि एक सरणी (और बहुवचन) का उपयोग yAxes(या xAxes) के लिए किया जाता है , क्योंकि आपके पास कई अक्ष हो सकते हैं।


@SuganthanRaj आपका स्वागत है! बस यह सुनिश्चित कर लें कि आप Chart.js 2.0 के लिए डॉक्स से परामर्श करें। 1.0 संस्करण से बहुत कुछ बदल गया है और अधिकांश उदाहरण 1.0 संस्करण पर ऑनलाइन लागू होते हैं। ;)
xnakos

@SuganthanRaj उदाहरण के लिए, scaleShowVerticalLines2.0 के लिए मान्य नहीं है। या टूलटिप टेम्पलेट। विकल्प, सामान्य रूप से, 2.0 में एक पदानुक्रमित दृष्टिकोण का पालन करें।
xnakos

3

यदि आपको इसे डिफ़ॉल्ट कॉन्फ़िगरेशन के रूप में उपयोग करने की आवश्यकता है, तो बस min: 0नोड के अंदर रखें defaults.scale.ticks, निम्नानुसार है:

defaults: {
  global: {...},
  scale: {
    ...
    ticks: { min: 0 },
  }
},

संदर्भ: https://www.chartjs.org/docs/latest/axes/


1

कृपया इस विकल्प को जोड़ें:

//Boolean - Whether the scale should start at zero, or an order of magnitude down from the lowest value
scaleBeginAtZero : true,

(संदर्भ: चार्ट.जेएस )

एनबी: मैंने जो मूल समाधान पोस्ट किया था वह हाईचर्ट के लिए था, यदि आप हाईचर का उपयोग नहीं कर रहे हैं तो कृपया भ्रम से बचने के लिए टैग को हटा दें


2
यह काम नहीं कर रहा है । मैं चार्टज v2.1 के नवीनतम संस्करण का उपयोग कर रहा हूं
राज

@ मुझे पूर्वनिर्धारित मूल्य से चार्ट शुरू करने की आवश्यकता है। क्या आप जानते हैं कि यह काम कैसे करना है? मैंने इस विकल्प को सही और गलत दोनों में डालने की कोशिश की, लेकिन यह काम नहीं करता है।
माइकल। डी

यह गलत है और इसे हटाया जाना चाहिए। beginAtZero: trueक्या आप की जरूरत है
ट्रिपल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.