javascript - 当数据为零时,Flot 饼图呈现图例但不呈现空图表

标签 javascript jquery json charts flot

我正在当前的项目中制作一些流程图。当您至少有一个具有正值的数据对象时,该代码效果很好,但如果返回的数据为零,我想至少显示一个空圆圈或某种消息或其他内容。这是我试图制作图表的数据对象。图例显示正常,但没有图表(甚至是空图表)。

datacontent":[{"label":"Wired headset","data":0},{"label":"Bluetooth headset","data":0},{"label":"Car bluetooth","data":0},{"label":"None","data":0}]

我真的很想收到一条诸如“抱歉,没有可用图表”之类的消息,同时仍然显示图例。这可能吗?

这是当前显示内容的屏幕截图:

enter image description here

最佳答案

我会在绘图调用后添加“无数据”检查,并将消息直接添加到 Canvas 。这样您就可以保留图例并可以添加进一步的自定义。

somePlot = $.plot($("#placeholder"), [{"label":"Wired headset","data":0},{"label":"Bluetooth headset","data":0},{"label":"Car bluetooth","data":0},{"label":"None","data":0}], {
    series: {
        pie: { 
            show: true
        }
    }
});

if (isNaN(somePlot.getData()[0].percent)){
    var canvas = somePlot.getCanvas();
    var ctx = canvas.getContext("2d");  //canvas context
    var x = canvas.width / 2;
    var y = canvas.height / 2;
    ctx.font = '30pt Calibri';
    ctx.textAlign = 'center';
    ctx.fillText('No Data!', x, y);
}

产生( fiddle here ):

enter image description here

关于javascript - 当数据为零时,Flot 饼图呈现图例但不呈现空图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23254307/

相关文章:

java - 带默认引号的 Jackson 字段值

javascript - HTML5 视频 - 如何无缝播放多个视频然后循环播放序列?

javascript - JQuery 可拖动 : scroll not working when helper: clone is used

java - Maven GWT - 仅输出 Javascript 文件

javascript - 我可以使用 html 字符串创建 jsPDF 文件的一部分吗?

javascript - 如何用 Jquery 替换文本?

javascript - jQuery 检查给定 div 中每个输入的值

asp.net - 将 jQuery 引用放置在 HTML 文档的底部会破坏用户控制

java - 使用子对象解析 json 数组

java - 如何从 JSON 中提取图像的 url(LastFM API)