Morris Donut图表没有数据问题

时间:2014-11-02 16:18:53

标签: javascript raphael morris.js

我正在尝试使用甜甜圈形状与Morris Charts正确地绘制一些数据。

Morris.Donut({
        element: 'donut-chart-revenue',
        data: [],
      });

但由于数据变量有时可能是空的(新用户,没有足够的数据),甜甜圈形状会中断,我有一个空位占位符!

如何对问题进行排序或使用“没有足够的数据”等文字替换占位符?

2 个答案:

答案 0 :(得分:3)

对莫里斯不太熟悉,我怀疑你可以逃脱这个:

 var data = []; // <-- your empty set

 Morris.Donut({
   element: 'donut-example',
   data: data.length ? data : [ { label:"No Data", value:100 } ]
 });

如果该数据数组的长度(无论它来自何处)为空(data.length == 0),那么它将使用&#34; No Data&#34;阵列。

答案 1 :(得分:0)

我有同样的问题,我可以这样解决:

var donut = null;    

this.init = (function() {

    ...

    donut = Morris.Donut({
        element : 'id-div',
        data : [{ label:"no data", value:100 }],
        colors : [ '#E6A548', '#1CC09f', '#FB5651', '#1CC09f', '#63A3DF', '#999' ],
    });
});

this.find = (function() {


    $.ajax() ... {

        if (dados.length == 0) {
            dados.push({ label:"no data", value:100 });
        }

        donut.setData(dados);
        donut.redraw();

    }
});

使用:

data : [{ label:"no data", value:100 }],

dados.push({ label:"no data", value:100 });

当您没有数据时