【问题标题】:Chart.JS: Stop chart from rescaling when hiding/unhiding a dataset?Chart.JS:隐藏/取消隐藏数据集时停止图表重新缩放?
【发布时间】:2021-02-16 15:45:36
【问题描述】:

我有几个堆叠的条形图,其中显示了一堆数据集。通常,用户需要隐藏或取消隐藏单个数据集。我需要responsive 属性提供的一些功能——即,在调整窗口大小时更新图表大小,或在基础数据更改时重新呈现。

但是,当单个数据集被隐藏或未隐藏时,图表会重新缩放,因此具有最高值的条形将成为刻度的顶部。很难理解隐藏/显示数据集对各种条形总大小的影响。

有没有办法保留所有其他“响应式”功能,但将其设置为隐藏数据集不会触发重新缩放?

【问题讨论】:

    标签: javascript chart.js


    【解决方案1】:

    这并不难。您的选项中有 minmax 属性,它们会覆盖任何重新排列。只需遍历所有数据并将最大值设置为 max 属性即可。

    let chart = new Chart(ctx, {
      type: 'bar',
      data: { ... },
      options: {
        scales: {
          yAxes: [{
            ticks: {
              min: 0,
              max: 100
            }
          }]
        }
      }
    }
    

    【讨论】:

    • 啊!不知道为什么我没有想到这一点,我已经为图表设置了很多次最小值/最大值,只是没有想到每次数据更改时都设置它。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-09-09
    • 2021-08-01
    • 2017-01-23
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    相关资源
    最近更新 更多