làm thế nào để đặt giá trị bắt đầu là "0" trong chartjs?


109

đây là mã của tôi. tôi cần đặt giá trị ban đầu là "0" ở cả hai thang trục x và y. Tôi đã thử tùy chọn tỷ lệ phiên bản mới nhất.

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);
   }     

Câu trả lời:


298

Đối với Chart.js 2. *, tùy chọn cho tỷ lệ bắt đầu từ 0 được liệt kê trong các tùy chọn cấu hình của tỷ lệ tuyến tính . Điều này được sử dụng cho dữ liệu số, có thể là trường hợp cho trục y của bạn. Vì vậy, bạn cần sử dụng cái này:

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

Biểu đồ đường mẫu cũng có sẵn ở đây , nơi tùy chọn được sử dụng cho trục y. Nếu dữ liệu số của bạn nằm trên trục x, hãy sử dụng xAxesthay vì yAxes. Lưu ý rằng một mảng (và số nhiều) được sử dụng cho yAxes(hoặc xAxes), vì bạn cũng có thể có nhiều trục.


@SuganthanRaj Bạn được chào đón! Chỉ cần đảm bảo rằng bạn tham khảo tài liệu cho Chart.js 2.0. Nhiều thay đổi so với phiên bản 1.0 và hầu hết các ví dụ trực tuyến đều áp dụng cho phiên bản 1.0. ;)
xnakos

@SuganthanRaj Ví dụ: scaleShowVerticalLineskhông hợp lệ cho 2.0. Hoặc mẫu chú giải công cụ. Các tùy chọn, nói chung, tuân theo cách tiếp cận phân cấp trong 2.0.
xnakos


1

Vui lòng thêm tùy chọn này:

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

(Tham khảo: Chart.js )

NB: Giải pháp ban đầu tôi đăng là dành cho Highcharts, nếu bạn không sử dụng Highcharts thì vui lòng xóa thẻ để tránh nhầm lẫn


2
nó không hoạt động . tôi đang sử dụng phiên bản mới nhất của chartjs v2.1
Suganthan Raj

@wmash Tôi cần bắt đầu biểu đồ từ giá trị được xác định trước. Bạn có biết làm thế nào để làm điều này? Tôi đã cố gắng đặt tùy chọn này thành cả đúng và sai, nhưng nó không hoạt động.
Michael.D

điều này không chính xác và có thể / nên bị xóa. beginAtZero: truelà những gì bạn cần
ba
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.