是否可以在ChartJS上添加拖拽和缩放功能?我想做类似于这里展示的效果。
以下是我绘制线性图表的方法:
<canvas class="square_margin_less" id="myChart" width="100" height="30" > </canvas>
<script></script>
有没有个性化的方式可以实现这个功能?
是否可以在ChartJS上添加拖拽和缩放功能?我想做类似于这里展示的效果。
以下是我绘制线性图表的方法:
<canvas class="square_margin_less" id="myChart" width="100" height="30" > </canvas>
<script></script>
hammer-js
,然后是Chart.bundle.js
和chartjs-plugin-zoom.js
。
const config = {
type: 'line',
data: {
labels: [new Date('2019-08-20'), new Date('2019-08-25'), new Date('2019-08-30')],
datasets: [{
label: 'Line',
data: [2, 5, 3],
borderColor: '#D4213D',
fill: false,
}, ],
},
options: {
scales: {
xAxes: [{
type: 'time',
}, ],
},
pan: {
enabled: true,
mode: 'xy',
},
zoom: {
enabled: true,
mode: 'xy', // or 'x' for "drag" version
},
},
};
window.onload = function() {
new Chart(document.getElementById('chart'), config);
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-zoom/0.6.6/chartjs-plugin-zoom.js"></script>
<html>
<body>
<div style="width:380px;">
<canvas id="chart"></canvas>
</div>
</body>
</html>
drag: {
borderColor: 'hsl(35, 100%, 60%)',
borderWidth: '3',
backgroundColor: 'hsl(35, 100%, 60%)',
},