চার্টজগুলিতে শুরু মানকে "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 ২। * এর জন্য, শূন্য থেকে স্কেল শুরু করার বিকল্পটি লিনিয়ার স্কেলের কনফিগারেশন বিকল্পের অধীনে তালিকাভুক্ত করা হয় । এটি সংখ্যাসূচক তথ্যগুলির জন্য ব্যবহৃত হয়, যা সম্ভবত আপনার y- অক্ষের ক্ষেত্রে হওয়া উচিত। সুতরাং, আপনার এটি ব্যবহার করা দরকার:

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

একটি নমুনা লাইন চার্ট এছাড়াও এখানে উপলব্ধ যেখানে y- অক্ষের জন্য বিকল্পটি ব্যবহৃত হয়। যদি আপনার সাংখ্যিক ডেটা এক্স-অক্ষে থাকে তবে xAxesপরিবর্তে ব্যবহার করুন yAxes। মনে রাখবেন যে একটি অ্যারে (এবং বহুবচন) ব্যবহার করা হয় yAxes(বা xAxes) এর জন্য, কারণ আপনার পাশাপাশি একাধিক অক্ষও থাকতে পারে।


@ সুগন্ধনরাজ আপনাকে স্বাগতম! কেবল নিশ্চিত হয়ে নিন যে আপনি Chart.js 2.0 এর জন্য দস্তাবেজের সাথে পরামর্শ করেছেন। 1.0 সংস্করণ থেকে অনেকগুলি পরিবর্তন হয়েছে এবং অনলাইনে বেশিরভাগ উদাহরণ 1.0 সংস্করণে প্রয়োগ হয়। ;)
xnakos

@ সুগন্ধনরাজ উদাহরণস্বরূপ, এটি 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,

(তথ্যসূত্র: Chart.js )

এনবি: আমি পোস্ট করা আসল সমাধানটি হাইচার্টদের ছিল, আপনি যদি হাইচার্ট ব্যবহার না করেন তবে দয়া করে বিভ্রান্তি এড়াতে ট্যাগটি সরিয়ে ফেলুন


2
এটা কাজ করছে না . আমি চার্টজ v2.1 এর সর্বশেষ সংস্করণটি ব্যবহার করছি
সুগন্ধন রাজ

@ ওম্যাশ আমার পূর্বনির্ধারিত মান থেকে চার্ট শুরু করা দরকার। আপনি কীভাবে এটি জানেন? আমি এই বিকল্পটি সত্য এবং মিথ্যা উভয়ই রাখার চেষ্টা করেছি, তবে এটি কার্যকর হয় না।
মাইকেল.ডি

এটি ভুল এবং মুছে ফেলা হতে পারে। beginAtZero: trueআপনার যা প্রয়োজন
ট্রিপল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.