如果jquery饼图中的零数据,则隐藏图例标签

时间:2013-05-31 06:29:27

标签: javascript jquery flot pie-chart

我正在尝试使用包含零值的数据集绘制饼图。但饼图仅显示标签,直到数据更新。

如果我想显示空饼图怎么办? enter image description here

我已经给出了:

var data = [
{
    label: "Series1",
    data: 0,
    url: "http://stackoverflow.com"},
{
    label: "Series2",
    data: 0,
    url: "http://serverfault.com"},
{
    label: "Serie3",
    data: 0,
    url: "http://superuser.com"},
{
    label: "Series4",
    data: 0,
    url: "http://www.google.com"},
{
    label: "Series5",
    data: 0,
    url: "http://www.oprah.com"},
{
    label: "Series6",
    data: 0,
    url: "http://www.realultimatepower.net/"}
];
var options = {
    series: {
        pie: {
            show: true
        }
    },
    grid: {
        hoverable: true
    }
};

var plot = $.plot($("#graphLoaderDiv"), data, options);

3 个答案:

答案 0 :(得分:0)

修改标签格式化程序函数,如果系列百分比为零,则返回null。

答案 1 :(得分:0)

深入挖掘后,我意识到最好的解决方案是,如果您的数据集值为零,则不显示饼图。您可以在插件后编辑或在绘图功能中添加检查。

从这里下载jquery.flot.pie.js

  

http://code.google.com/p/flot/issues/detail?id=530

转到第411行,修改代码如下。

if( isNaN(angle) ) {
    //var html = html = '<span class="pieLabel" id="pieLabelNoData" style="position:absolute;top:20px;left:5px;">There is no available data.</span>';
    //html = target.append(html);
    target.hide();
}

答案 2 :(得分:-1)

你可以显示像这样的空数据

$piedata="[{label:'no data',data:1}]";