我正在使用一个有200多个数据的数据库。我只需要显示最后5个数据,但他们可以滚动图形。
这些是我在
<!-- JQUERY -->
<script src="<?= base_url() ?>assets/js/jquery.js"></script>
<script src="<?= base_url()?>assets/js/jquery/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/hammerjs@2.0.8"></script>
<script src="https://cdn.jsdelivr.net/npm/hammerjs@2.0.8/hammer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js@3.8.0/dist/chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-zoom@1.2.1/dist/chartjs-plugin-zoom.min.js"></script>
这个函数会将数据
function datagrafico(base_url){
$.ajax({
url: base_url + "index.php/Admin/getDataDias",
type:"POST",
dataType:"json",
success:function(data){
var dias = new Array();
var montos = new Array();
$.each(data,function(key, value){
dias.push(value.fecha_actualizacion);
valor = Number(value.monto);
montos.push(valor);
});
grafica2(dias,montos);
}
});
}
在这里我画了一张图
function grafica2(dias, montos) {
const ctx = document.getElementById('myChart').getContext('2d');
const myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: dias,
datasets: [{
label: 'Monto',
data: montos,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1,
}]
},
options: {
scales: {
y: {
beginAtZero: true
},
plugins: {
zoom: {
pan: {
enabled: true,
mode: 'xy'
},
zoom: {
enabled: true,
mode: 'xy'
}
},
}
}
}
});
}
这个选项对我不起作用是当用鼠标滚轮或从手机放大图形时
1条答案
按热度按时间ifsvaxew1#
这是因为您将缩放插件的配置放在了错误的位置。选项需要在
options.plugins.zoom
名称空间中配置,而您将它们放在了options.scales.plugins.zoom
名称空间中。将选项对象更改为以下对象将解决此问题:
zoom插件也使用hammer.js来识别手势。
最后,您的扩展配置错误,您在使用V2时使用了V3语法,我也为您更新了该配置