2016-10-04 208 views
0

我正在嘗試創建一個x軸代表時間的折線圖。我重寫ChartJS'displayFormats以確保在每個標籤上顯示完整的時間戳,但也使其符合我期望的格式。ChartJS在時間軸上顯示標籤時顯示日期但不是時間

這裏是我的代碼:

var chart = new Chart($('#myChart'), { 
 
    type: 'line', 
 
    data: { 
 
    labels: ['2016-09-05T09:29:06', '2016-10-04T09:29:06'], 
 
    datasets: [{ 
 
     label: 'foo', 
 
     data: [1, 4] 
 
    }] 
 
    }, 
 
    options: { 
 
     scales: { 
 
     xAxes: [{ 
 
      type: 'time', 
 
      time: { 
 
      displayFormats: { 
 
       millisecond: 'DD/MM/YYYY HH:mm:ss', 
 
       second: 'DD/MM/YYYY HH:mm:ss', 
 
       minute: 'DD/MM/YYYY HH:mm:ss', 
 
       hour: 'DD/MM/YYYY HH:mm:ss', 
 
       day: 'DD/MM/YYYY HH:mm:ss', 
 
       week: 'DD/MM/YYYY HH:mm:ss', 
 
       month: 'DD/MM/YYYY HH:mm:ss', 
 
       quarter: 'DD/MM/YYYY HH:mm:ss', 
 
       year: 'DD/MM/YYYY HH:mm:ss' 
 
      }, 
 
      tooltipFormat: 'DD/MM/YYYY HH:mm:ss' 
 
      } 
 
     }] 
 
     } 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.3.0/Chart.bundle.js"></script> 
 
<canvas id="myChart" width="400" height="400"</canvas>

注意的是,在片段中的錯誤似乎是由SO被引入並無關手頭的問題。

與上面的圖表進行交互時,您會注意到工具提示顯示格式正確的時間戳。所以,我相信我建議的格式化程序是正確的,ChartJS中提供了這些信息。

問題:

x軸僅顯示標籤的日期。標籤的時間部分被刪除並表示爲零。爲什麼?我如何顯示全職?

回答

0

我是個白癡。

當將x軸表示爲時標時,標籤從試圖變爲1:1對應於數據點,以對其日期/時間進行大致概括。 ChartJS四捨五入到最近的一天,因此在00:00:00時間。