美文网首页
chart.js-学习1

chart.js-学习1

作者: alisazhou | 来源:发表于2016-12-27 21:12 被阅读525次
<!doctype html>
<html>
<head>
    <title>Line Chart - Combo Time Scale</title>
    <script src="../../../dist/Chart.js"></script>
    <script src="../../utils.js"></script>
    <script src="../../data.js"></script>
    <style>
        canvas {
            -moz-user-select: none;
            -webkit-user-select: none;
            -ms-user-select: none;
        }
    </style>
</head>
<body>
    <div style="width:75%;">
        <canvas id="canvas"></canvas>
    </div>
    <br>
    <br>
    <form id = "form" name = "form1">
        <br>
        <p>StartTime:<input type = "date" name = "begin_time" id = "begin_time" autofocus>EndTime:<input type = "date" id = "end_time" name = "end_time"></p>           
        <br>
        <input type = "radio" name = 'user' value = 'total_user' checked>Total User
        <input type = "radio" name = 'user' value = 'increase_user'>Increase User
    </form>
    <button id = "update">update</button>
    <script>
        function get_input(){//获取页面输入参数,根据该参数获取database的数据
            var StartTime = document.getElementById("begin_time").value;
            var EndTime = document.getElementById("end_time").value;
            var s = send_input(StartTime,EndTime)
            //alert(s);
        }

        var color = Chart.helpers.color;
        var config = {
            type: 'bar',
            data: {
                labels: get_x_axis(),
                datasets: [{
                    type: 'line',
                    label: 'Dataset 1',
                    backgroundColor: color(window.chartColors.green).alpha(0.5).rgbString(),
                    borderColor: window.chartColors.green,
                    fill: false,
                    data: get_y_axis(),
                },
                {type: 'bar',
                    label: 'Dataset 2',
                    backgroundColor: color(window.chartColors.red).alpha(0.5).rgbString(),
                    borderColor: window.chartColors.red,
                    fill: true,
                    data: get_y_axis(),
                },]
            }
        };
        window.onload = function() {
            var ctx = document.getElementById("canvas").getContext("2d");
            window.mychart = new Chart(ctx, config);
        };
        document.getElementById("update").addEventListener("click",function(){
            if (config.data.datasets.length > 0){
                
                config.data.labels = config.data.labels.concat(add_x()) //concat方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本,所以要对数组重新赋值
            }
            config.data.datasets.forEach(function(dataset){
                dataset.data=dataset.data.concat(add_data())
                
            })
            
            window.mychart.update();
        })
    </script>
</body>
</html>

add_x()返回的是一个数组,之前用push方法,结果显示出来在一个横轴点上;
改用concat()方法之后,就可以正常的在横轴上添加新的值了。但是这里要注意:
concat方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
所以这里要用:

config.data.labels = config.data.labels.concat(add_x()) 
config.data.labels.concat(add_x())   //这样的不正确,config.data.labels相当于没有变化

dataset.data=dataset.data.concat(add_data())

相关文章

  • chart.js-学习1

    add_x()返回的是一个数组,之前用push方法,结果显示出来在一个横轴点上;改用concat()方法之后,就可...

  • angular + material实现栅格条纹式chart表

    图下示: 设计稿到手一脸懵逼,但是!甲方爸爸的需求怎么能轻易放弃呢~哼哼哈嘿 Chart.js- --想了3秒钟,...

  • 学习1

    吸引观众最简单的方法就是让他们知道在限定的时间限定的地点某人必须尝试某事,而如果失败,就会招致杀身之祸。——哈里·霍尼迪

  • 学习1

    今天下午是我过得最有意义的一个下午,我在阅览室做了两个钟头的题,并且了解广告年鉴。 哈哈,以后我想每天都这样过。

  • 学习1

    1.保护工作簿:不能增加或者删除新的工作表(审阅)2.保护工作表:可以选择设置某一特定的工作表用户可以进行的操作(...

  • 学习1

    明天与今天毫无区别。

  • 学习1

    刷了这么多的英语学习帖子,各种道理在你做之前都是废话,直到你开始实施并且在这个过程中不断补充和修正自己的方法之后才...

  • 学习1

    一、思维导图梳理架构 二、罗列知识要点:(目的:用大纲的方式罗列出重要的知识点;方便践行和实践;摘录原文;包括理念...

  • 学习+1

    [cp]一天之内买卖股票的最佳时间段是什么 (一)开盘建议进行第一次出货: 1.开盘价一般受昨日收盘价影响。若昨日...

  • 学习1

    1 2 3 1 2 3 1、2、链接 引用粗体斜体

网友评论

      本文标题:chart.js-学习1

      本文链接:https://www.haomeiwen.com/subject/wwpevttx.html