ChartJS 用按钮实现图表缩放

kiayqfof  于 2022-11-06  发布在  Chart.js
关注(0)|答案(2)|浏览(225)

是否有可能实现缩放按钮快速缩放(+和-按钮)与chartjs现在我使用以下代码:

  1. pan: {
  2. enabled: true,
  3. mode: 'xy',
  4. rangeMin: {
  5. // Format of min pan range depends on scale type
  6. x: null,
  7. y: null
  8. },
  9. rangeMax: {
  10. // Format of max pan range depends on scale type
  11. x: null,
  12. y: null
  13. }
  14. },
  15. zoom: {
  16. enabled: true,
  17. mode: 'xy',
  18. rangeMin: {
  19. // Format of min pan range depends on scale type
  20. x: 1,
  21. y: 1
  22. },
  23. rangeMax: {
  24. // Format of max pan range depends on scale type
  25. x: 5,
  26. y: 5
  27. }

仅通过鼠标滚轮(默认)谢谢

0aydgbwb

0aydgbwb1#

您可以使用事件行程常式来检查/更新xAxes的刻度,以达到类似的效果:

  1. $('#zoom_in').click(function(){
  2. ticks = myChart.chart.options.scales.xAxes[0].ticks;
  3. /* if x-axis is categorical, use the data.labels to determine current axis range, e.g.:
  4. labels = myChart.chart.data.labels;
  5. startTick = labels.indexOf(ticks.min);
  6. endTick = labels.indexOf(ticks.max);
  7. */
  8. // below assumes ticks.min and ticks.max are numeric
  9. var diff = ticks.max - ticks.min;
  10. var factor = 0.05;
  11. var newMin = ticks.min + factor * diff;
  12. var newMax = ticks.max - factor * diff;
  13. ticks.min = newMin;
  14. ticks.max = newMax;
  15. myChart.update();
  16. });
展开查看全部
3htmauhk

3htmauhk2#

数值 需要更改为图表.配置.选项.刻度.x

  1. document.getElementById("lastDays").onclick = ()=> {
  2. ticks = chart.config.options.scales.x;
  3. ticks.min = lastDaysMs;
  4. ticks.max = nowTime;
  5. chart.update();
  6. };

相关问题