【问题标题】:how to hide 0 value on Yaxis in Chart.js with negative values如何在 Chart.js 中以负值隐藏 Yaxis 上的 0 值
【发布时间】:2017-09-07 04:44:27
【问题描述】:

我使用chart.js 创建了一个带有负值的条形图。现在我不想在 Y 轴上显示 0(零)值。

我在谷歌上搜索了很多东西,但我没有运气。

我也尝试了以下属性。

ticks: {
                beginAtZero: false
            }

scaleStartValue: -20, scaleStepWidth: 20, scaleSteps: 3, scaleBeginAtZero: false,

但我没有成功。

检查下图,我已经提到了我的预期结果。

【问题讨论】:

  • 喜欢this ?
  • 是的,像这样。或者我可以将 0 值更改为 100%。最终目标是更改或删除 0(零)值。

标签: c# asp.net charts chart.js chart.js2


【解决方案1】:

这可以使用以下 y 轴刻度回调函数来实现:

callback: function(value, index) {
   if (value !== 0) return value + '%';
}

或 - “将 0 值更改为 100%”:

callback: function(value, index) {
   if (value === 0) return 100 + '%';
   else return value + '%';
}

演示

var chart = new Chart(ctx, {
   type: 'bar',
   data: {
      labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
      datasets: [{
         label: 'BAR',
         data: [50, 20, -60, 55, -35],
         backgroundColor: 'rgba(0, 119, 290, 0.2)',
         borderColor: 'rgba(0, 119, 290, 0.6)',
         borderWidth: 2
      }]
   },
   options: {
      scales: {
         yAxes: [{
            ticks: {
               stepSize: 50,
               callback: function(value, index) {
                  if (value !== 0) return value + '%';
                  /* OR *
                  if (value === 0) return 100 + '%';
                  else return value + '%'; */
               }
            }
         }]
      }
   }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<canvas id="ctx"></canvas>

【讨论】:

  • 感谢您的完美回答。它真的很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-09
  • 2011-04-27
  • 1970-01-01
  • 2023-01-28
  • 2020-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多