Chart.js v2 - ẩn các đường lưới


149

Tôi đang sử dụng Chart.js v2 để vẽ biểu đồ đường đơn giản. Mọi thứ đều ổn, ngoại trừ có những đường lưới mà tôi không muốn:

Đường lưới tôi không muốn

Tài liệu về Biểu đồ đường có tại đây: https://nnnick.github.io/Chart.js/docs-v2/#line-chart , nhưng tôi không thể tìm thấy bất cứ điều gì về việc ẩn các "Đường kẻ lưới" đó.

Làm thế nào tôi có thể loại bỏ các đường lưới?

Câu trả lời:


341

Tôi tìm thấy một giải pháp hoạt động để ẩn các đường lưới trong biểu đồ Đường.

Đặt gridLinesmàu giống với màu nền của div.

var options = {
    scales: {
        xAxes: [{
            gridLines: {
                color: "rgba(0, 0, 0, 0)",
            }
        }],
        yAxes: [{
            gridLines: {
                color: "rgba(0, 0, 0, 0)",
            }   
        }]
    }
}

hoặc dùng

var options = {
    scales: {
        xAxes: [{
            gridLines: {
                display:false
            }
        }],
        yAxes: [{
            gridLines: {
                display:false
            }   
        }]
    }
}

2
Đây thực sự là cài đặt màu lướiLines thành màu 0 opacityđen (màu trong suốt). Vì vậy, điều này sẽ làm việc bất kể màu nền của div.
XCS

40
Hoặc sử dụng màn hình: false, thay vì "color"
Irvine

4
Cảm ơn rât nhiều! Nếu chỉ có tài liệu rõ ràng hơn một chút về chủ đề này. :)
iSS

Tôi muốn giữ tỷ lệ nhưng mất các đường lưới ở mặt sau của biểu đồ để câu trả lời này không hiệu quả với tôi.
adg

1
Trong khi câu trả lời đầu tiên này có thể có được hình ảnh mong muốn, nó là một chút hack. Giải pháp thứ hai, thực sự đặt thuộc tính hiển thị của GridLines thành false, có vẻ đúng hơn.
Tot Zam

57
options: {
    scales: {
        xAxes: [{
            gridLines: {
                drawOnChartArea: false
            }
        }],
        yAxes: [{
            gridLines: {
                drawOnChartArea: false
            }
        }]
    }
}

5
Câu trả lời này cho phép tôi giữ tỷ lệ nhưng không vẽ đường lưới trên biểu đồ.
adg

19

Nếu bạn muốn chúng biến mất theo mặc định, bạn có thể đặt:

Chart.defaults.scale.gridLines.display = false;

12

Nếu bạn muốn ẩn đường lưới nhưng muốn hiển thị yAxes, bạn có thể đặt:

yAxes: [{...
         gridLines: {
                        drawBorder: true,
                        display: false
                    }
       }]

8

OK, đừng bận tâm .. Tôi đã tìm thấy mẹo:

    scales: {
      yAxes: [
        {
          gridLines: {
                lineWidth: 0
            }
        }
      ]
    }

4

Mã bên dưới sẽ loại bỏ các đường lưới khỏi khu vực biểu đồ, không chỉ các đường trong nhãn trục x & y

Chart.defaults.scale.gridLines.drawOnChartArea = false;
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.