2017-03-03 84 views
1

下面是我用一個簡單的chart.js之水平條形圖:ChartJS其棒沒有顯示出來,簡單的數據點

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 
     }], 
    } 
    } 
}); 

enter image description here


如果我改變價值觀更接近彼此我看到了三個酒吧。我需要它來繪製條,以便它們始終可見,即使這些值存在很大差異。

有沒有我錯過的配置?我怎樣才能解決這個問題?

回答

1

出於某種原因,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 
 
     }], 
 
    } 
 
    } 
 
});
<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>