ChartJS 条没有显示简单的数据点

Ser*_*pia 5 javascript bar-chart chart.js

这是我正在使用的一个简单的 chart.js 水平条形图:

var myBarChart = new Chart(ctx,{
  type: 'horizontalBar',
  data: {
    labels: [
        "Foo",
        "Bar",
        "Baz"
    ],
    datasets: [
    {
        data: [725000, 600000, 900000],
        backgroundColor: [
          "#ccf6ec",
          "#ff6654",
          "#009784"
        ],
        hoverBackgroundColor: [
          "#ccf6ec",
          "#ff6654",
          "#009784"
        ]
    }]
  },
  options: {
    legend: {
      display: false
    },
    scales: {
      xAxes: [{
        display: false
      }],
      yAxes: [{
        display: false
      }],
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


如果我将值更改为彼此更接近,我会看到三个条形。我需要它来绘制条形,以便它们始终可见,即使值相差很大。

有没有我错过的配置?我怎样才能解决这个问题?

Yoh*_*tom 11

出于某种原因,chart.js 使用数据中的最小量作为最小刻度值。简单地添加ticks.min: 0显然可以解决问题:

var ctx = document.getElementById('chart')
var myBarChart = new Chart(ctx, {
  type: 'horizontalBar',
  data: {
    labels: [
      "Foo",
      "Bar",
      "Baz"
    ],
    datasets: [{
      data: [725000, 600000, 900000],
      backgroundColor: [
        "#ccf6ec",
        "#ff6654",
        "#009784"
      ],
      hoverBackgroundColor: [
        "#ccf6ec",
        "#ff6654",
        "#009784"
      ]
    }]
  },
  options: {
    legend: {
      display: false
    },
    scales: {
      xAxes: [{
        display: false,
        ticks: {
          min: 0
        }
      }],
      yAxes: [{
        display: false
      }],
    }
  }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
<canvas id="chart" width="400" height="400"></canvas>
Run Code Online (Sandbox Code Playgroud)