如何使用chart.js创建交互式图表

时间:2018-05-25 14:02:47

标签: javascript chart.js chart.js2

您好,我有这段代码:

<!DOCTYPE HTML>
<html>
<head>
<title>my website</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>

<link rel="stylesheet" href="style.css" />
</head>

<body>

<div id = "Global">
<div id = "gauche">
<canvas id="line-chart" width="800" height="450"></canvas>
<script>
var ctx = new Chart(document.getElementById("line-chart"), {
    type: 'line',
    data: {
/*         labels: [18.123,46.8603108462,75.5976216923,104.334932538] */
        datasets: [{
            data: [{'y': 0,'x': 0},
{'y': 4,'x': 2},
{'y': 8,'x': 4},
{'y': 16,'x': 8}],
            label: "Data",
            borderColor: "#3e95cd",
            fill: false     
        }]        
    },
    options: {
        title:{
            display: true,
            text:"my website"
        },
        scales: {
            xAxes: [{

                position: 'bottom'
            }],
            yAxes: [{

            }]
        }
    }
})
</script>
</div>
<div id = "droite">
<br /><br /><br />
<br /><br /><br />
<br />a : 0 <input style="margin-left:180px" type="range" min="0" max="10" step="0.01" value="2" class="slider" id="myRange" onchange="updateValue_2(this.value);"> 10
<input type="text" id="textInput" value="">
<script>
function updateValue_2(val) {document.getElementById('textInput').value="a = "+val;}
</script>



</div>
</div>
</body>

</html>

这段代码实际绘制了方程式y = ax,我选择开始a = 2。

代码如下所示:

result

我想要的是当我尝试改变范围时,例如如果我改变a的值等于2到5我在图上只看到方程y = 5x但我不知道是否它可能是Chart.js

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您只需使用文档页面中的功能,就必须传递图表,标签和数据。

function addData(chart, label, data) {
    chart.data.labels.push(label);
    chart.data.datasets.forEach((dataset) => {
        dataset.data.push(data);
    });
    chart.update();
}

如果您需要删除以前的数据

function removeData(chart) {
    chart.data.labels.pop();
    chart.data.datasets.forEach((dataset) => {
        dataset.data.pop();
    });
    chart.update();
}

http://www.chartjs.org/docs/latest/developers/updates.html