热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Ajax正确方式刷新ChartJS(v2.6.0)中的BarChar

如何解决《使用Ajax正确方式刷新ChartJS(v2.6.0)中的BarChar》经验,为你挑选了1个好方法。

我正在刷新下拉列表中的条形图。我只是想知道我是否以正确的方式进行操作。每当我用代码替换现有画布时,都用新画布替换。有没有更好的方法来实现同一目标?

我的JS代码:

var chart_= function () {

    $('#canvas_id').replaceWith('');
    $.ajax({
        type: 'POST', //post method
        url: 'url', //ajaxformexample url
        dataType: "json",
        success: function (result, textStatus, jqXHR)
        {
            // GENERATE CHART DATA
            var labels = result.obj.map(function (e) {
                return e.label;
            });
            var data = result.obj.map(function (e) {
                return e.data;
            });
            new Chart($("#canvas_id"), {
                type: 'bar',
                options: options_object,
                data: {
                    labels: labels,
                    datasets: [
                        {
                            label: "",
                            backgroundColor: '#00c0ef',
                            data: data
                        }
                    ]
                }

            });

        }
    });
};

John Townsen.. 5

绝对有更好的方法,我一直在使用Chart.js实时更新图表,而要完成所需的一种好方法是使用最初预定义的某些设置声明图表。

var chart = new Chart( canvas, {
          type: "bar",
          data: {}
          options: {}
}

这样,每当需要更新图表时,只需访问已存在的图表即可。并将数据更新为从ajax调用中获取的数据,并使用chart.update()方法,以便可以继续使用预先存在的画布

$.ajax({
    type: 'POST', //post method
    url: 'url', //ajaxformexample url
    dataType: "json",
    success: function (result, textStatus, jqXHR)
    {
        chart.data = result;
        chart.update();
    }
});

希望这可以帮助!



1> John Townsen..:

绝对有更好的方法,我一直在使用Chart.js实时更新图表,而要完成所需的一种好方法是使用最初预定义的某些设置声明图表。

var chart = new Chart( canvas, {
          type: "bar",
          data: {}
          options: {}
}

这样,每当需要更新图表时,只需访问已存在的图表即可。并将数据更新为从ajax调用中获取的数据,并使用chart.update()方法,以便可以继续使用预先存在的画布

$.ajax({
    type: 'POST', //post method
    url: 'url', //ajaxformexample url
    dataType: "json",
    success: function (result, textStatus, jqXHR)
    {
        chart.data = result;
        chart.update();
    }
});

希望这可以帮助!


推荐阅读
author-avatar
qqq
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有