2016-03-02 43 views
1

我的數據是一樣如下圖:末點人力車圖表沒有顯示

enter image description here

人力車圖是爲這個完美的數據,因爲所有日期之間的日期和時間間隔很長。我已將「價格」列設置爲Y軸數據和「日期」列作爲X軸數據。但是當我添加像下圖那樣的新條目時,新點不會顯示這個新條目,因爲時間間隔是1分鐘。

enter image description here

參見同上26和27的輸入,該時間間隔是1分鐘和2秒。所以圖表不顯示這個新點。而且我想將日期設置爲每個點的X軸數據值。

27的輸入後,我的圖沒有顯示300的點。我的圖顯示了65價格的第26條。請參閱下圖。

enter image description here

可能會隱藏,因爲間隔。如果我增加間隔,那麼它會顯示正常。

回答

1

你有兩個問題都是關於圖的軸X的。從您發佈的屏幕截圖中,我假設X軸取整數值(23,24,25等在圖形的頂點附近)。

爲了將最後一點繪製到圖中,您只需在數組中插入一個元素並渲染圖。下面是一個數據集[12x2]的例子。

var data = [{ x: 1, y: 92228531 }, 
     { x: 2, y: 106021568 }, 
     { x: 3, y: 123202660 }, 
     { x: 4, y: 132165129 }, 
     { x: 5, y: 151325798 }, 
     { x: 6, y: 179323175 }, 
     { x: 7, y: 203211926 }, 
     { x: 8, y: 226545805 }, 
     { x: 9, y: 248709873 }, 
     { x: 10, y: 281421906 }, 
     { x: 11, y: 308745538 }, 
     { x: 12, y: 329538099 } ]; 

var graph = new Rickshaw.Graph({ 
    element: document.querySelector("#chart"), 
    width: 540, 
    height: 240, 
    series: [ { 
      data: data, 
      color: 'steelblue' 
    } ] 
}); 

var x_axis = new Rickshaw.Graph.Axis.X({ graph: graph }); 
var y_axis = new Rickshaw.Graph.Axis.Y({ 
    graph: graph, 
    orientation: 'left', 
    tickFormat: Rickshaw.Fixtures.Number.formatKMBT, 
    element: document.getElementById('axis0'), 
}); 

graph.render(); 

關於你的最後一個問題,如果你想呈現在X軸則需要使用Rickshaw.Graph.Axis.Time

例如時間:

var x_axis = new Rickshaw.Graph.Axis.Time({ graph: graph }); 

對於Axis.Time你需要確保你的數據(在你的情況下來自'date'列的數據)格式正確。

嘗試使用.toUTCString()你可以找到一個例子here