2017-04-06 92 views
2

無法在我的圖表中製作5分鐘步驟如何更改d3.js中的時間刻度步驟?

這是我傳給Angular Material圖指令 該對象的一部分是我xAxis

xAxis: { 
 
    tickFormat: function(d) { 
 
    return $filter('date')(new Date(d * 1000), 'HH:mm'); 
 
    }, 
 
    ticks: 5, // as I know 2,5,10 
 
    showMaxMin: false 
 
},

X時間尺度17:46/18:03 我一直在嘗試改變不同的值,也一直在閱讀D3小技巧&伎倆,但沒有找到答案。

我想打一個5分鐘步,我的X規模看起來像18:00/18:05/18:10

+0

你可以提供一個完整的例子作爲Plunker/JSFiddle嗎? – jeznag

回答

-1
var startDate = data[0].x; 
var finishDate = data[data.length - 1].x; 
chart.xAxis.tickValues(d3.time.minutes(startDate, finishDate, 5)); 

本質上,它採用d3.time。分鐘,每5分鐘生成一個帶時間戳的數組。然後傳遞給tickValues。

+0

感謝您的堅持,我沒有倒下你,但你的解決方案不起作用 – DarthJS

+0

啊是的,因爲nvd3沒有通過第二個參數。 取而代之的是: var startDate = data [0] .x; var finishDate = data [data.length - 1] .x; viewFinder.xAxis.tickValues(d3.time.minutes(startDate,finishDate,5)); 本質上它使用d3.time.minutes每5分鐘生成一個包含時間戳的數組。然後傳遞給tickValues。 – jeznag