2017-02-01 108 views
0

試圖讓ChartJS中的線條圖根據客戶的意願工作,但我遇到了一個問題:當整個星期的數據(我們做銷售)爲0時,繪製的標籤在y軸上低於0,這是我們的客戶不想要的。我看過scaleoverride,suggestedMin,和beginAtZero但沒有工作。ChartJS linechart編輯yAxis標籤

如何更改標籤,使其始終爲0?

下面

免費圖像,以可視化的問題:

enter image description here

代碼(與不工作的方法我試過之一):

var canvas = document.getElementById('salesChart').getContext('2d'); 
salesChart = new Chart(canvas, { 
    type: 'line', 
    scaleOverride: true, 
    scaleSteps: 10, 
    scaleStepWidth: 20, 
    scaleStartValue: 0, 
    data: { 
     labels: chartLabels, 
     datasets: [{ 
      label: 'Sales', 
      data: chartData, 
      backgroundColor: "rgba(37,185,153,0.7)" 
     }], 
    }, 
    options: { 
     maintainAspectRatio: false, 
     responsive: true 
    } 
}); 

回答

1

這爲我工作:

options: { 
    maintainAspectRatio: false, 
    responsive: true, 
    scales: { 
     yAxes: [{ 
      ticks: { 
       beginAtZero:true 
      } 
     }] 
    } 
} 

注:我將圖表配置的其餘部分留作是。你沒有明確提供chartLabels和chartData變量,所以我用:

var chartLabels = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; 
var chartData = [0, 0, 0, 0, 0, 0, 0]; 

小提琴:https://jsfiddle.net/3c4yq5oq/

+0

謝謝您的回覆!我嘗試了你所說的,但它仍然不起作用。我也嘗試從帖子中複製+粘貼整個**選項**塊。關於標籤的道歉;它們是動態製作的。 你可能有一個*小提琴*的作品? – Zubaja

+1

@Zubaja我剛剛將它添加到答案的末尾 –

+0

感謝您的更新。不知道發生了什麼,但是在某個時候(在我之前的回覆和這個回覆之間),您的解決方案奏效了。 – Zubaja