Pertanyaan Pengaturan nol Bagan.js


Saya bekerja dengan chart.js dan membuat bagan donat. Saya ingin menetapkan total nilai awal grafik menjadi nol sehingga dapat membuat bagan "kosong" penuh. Ketika saya instatiate grafik dengan nol itu tidak render. Saya tidak dapat menemukan cara menangani nol dalam dokumentasi pengembang.

var kPoints = 000;
var mPoints = 000;
var tPoints = 000;
var cPoints = 000;
var doughnutData = [ {
    value : kPoints,
    color : "#FF8000"
}, {
    value : mPoints,
    color : "#99CC00"
}, {
    value : tPoints,
    color : "#0099CC"
}, {
    value : cPoints,
    color : "#333333"
}, ];
var ctx = $("#profileChart").get(0).getContext("2d");
var myDoughnut = new Chart(ctx).Doughnut(doughnutData);

4
2018-05-29 18:30


asal


Jawaban:


Dari membaca kode sumber untuk Chart.js Saya telah menemukan bahwa itu mencoba untuk menjumlahkan masing-masing value bidang dalam sumber data sebelum merender bagan (lihat penggunaan segmentTotal  sini).

Untuk menyiasatinya, gunakan null untuk semua nilai dan menetapkan satu (atau lebih) dari titik data ke yang sangat kecil, dekat nilai nol. Saya telah menggunakan notasi mengambang di sini untuk salah satu nilai:

var kPoints = null;
var mPoints = null;
var tPoints = null;
var cPoints = 1e-10;

Setelah itu, contoh di bawah ini membuat kembali grafik (setelah penundaan 3 detik) dengan nilai data yang berbeda untuk menunjukkan kasus pembaruan nilai dari default "gelap" bagan ke versi yang diisi:

setTimeout(function () {

    // Generate a new, random value for each of the data points
    doughnutData.forEach(function (item) {
        item.value = Math.floor((Math.random() * 10) + 1);
    });

    var ctx = $("#profileChart").get(0).getContext("2d");
    var myDoughnut = new Chart(ctx).Doughnut(doughnutData);
}, 3000);



Contoh JSFiddle: http://jsfiddle.net/MasterXen/6S9DB/3/


6
2018-05-29 20:49



Pertahankan total nilai yang sedang berjalan saat membuat data donat. Jika ada titik nol data, atau nilai total dari semua titik data adalah nol, maka cukup masukkan titik boneka tambahan dengan label seperti "Tidak Ada Data" bersama dengan nilai tak terlihat (hampir nol) atau nilai boneka seperti 1 Dalam kasus mana pun, Anda akan berakhir dengan bagan yang valid dengan satu kategori seperti "Tidak Ada Data".


0
2017-07-20 20:16