2017-05-05 61 views
0

我正在嘗試使用一個解決方案,該解決方案使用chart.js,但它不接受我的標籤和dataset.label參數的值。圖表Js +陣列

對於標籤的參數,我捕捉值數組,然後將數組傳遞給參數,看一看的代碼,所以你可以看到我在做什麼:

chartX.map(function (item) { 
 
    return '"' + item + '"'; 
 
}).join(", "); 
 

 
yAxis = chartY.join(', '); 
 

 
console.log(chartX); // <--- ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"] 
 

 
var myChart = new Chart(ctx, { 
 
    type: 'bar', 
 
    data: { 
 
    labels: chartX, 
 
    datasets: [{ 
 
     label: 'Försäjlning', 
 
     data: yAxis 
 
    }] 
 
}

chartX是一個數組,它在地圖中形成。你可以在console.log(chartX)中看到結果。對於chartY數組,我只是用','將它加入並保存在yAxis變量中。當我執行console.log時,這也給了我期望值。

問題是,圖js似乎不喜歡數組,因爲沒有顯示任何東西,甚至沒有錯誤消息。

有人遇到過類似的問題嗎? 什麼可能是錯的?

梅尼謝謝!!!

+0

一些測試中,我找到了解決辦法之後。這很奇怪,但它的工作原理:我只是將地圖傳遞給一個變量: chartX.map(function(item){ return'''+ item +'''; })。join(「,」); var xAxis = chartX; –

回答

3

試試這個 這是你的HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script> 
<canvas id="myChart" width="200" height="100"></canvas> 

這裏是你的js

var arr=["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"]; 
var ctx = document.getElementById('myChart').getContext('2d'); 
var chart = new Chart(ctx, { 
     // The type of chart we want to create 
     type: 'bar', 
     // The data for our dataset 
     data: { 
      labels:arr, 
      datasets: [{ 
       label: "My First dataset", 
       backgroundColor: 'rgb(255, 99, 132)', 
       borderColor: 'rgb(255, 99, 132)', 
       data: [0, 10, 5, 2, 20, 30, 45, 5, 2, 20, 30, 45], 
      }] 
     }, 

     // Configuration options go here 
     options: {} 
    });