2012-04-01 65 views
3

我有一個flot工具提示問題。我傳遞的是時間戳數據,它會反映爲一個數字,例如1113340002003.我想要做的是,當我將鼠標懸停在數據點上時,它將反映爲日期:01/04/2012而不是該數字。任何幫助將是偉大的!困在這裏了幾個小時....Flot工具提示盤旋

這是我傳遞什麼陰謀:

var time = (new Date(dates[i])); 
graph.push([time, demand[i]]); 

這是我用來繪製圖表中的數據部分:

var options = { 
series: { 
       lines: { show: true }, 
       points: { show: true } 
      }, 
      grid: { hoverable: true, clickable: true }, 
      yaxis: { min: 0, max: 20000 }, 
      xaxis: { 
       mode: "time", timeformat: "%d/%m/%y"} 

var plot = $.plot($("#placeholder"), 
     [ { data: graph, label: "price" } ], 
     options); 

function showTooltip(x, y, contents) { 
    $('<div id="tooltip">' + contents + '</div>').css({ 
     position: 'absolute', 
     display: 'none', 
     top: y + 5, 
     left: x + 5, 
     border: '1px solid #fdd', 
     padding: '2px', 
     'background-color': '#fee', 
     opacity: 0.80 
    }).appendTo("body").fadeIn(200); 
} 


var previousPoint = null; 
$("#placeholder").bind("plothover", function (event, pos, item) { 
    $("#x").text(pos.x.toFixed(2)); 
    $("#y").text(pos.y.toFixed(2)); 

    if($("#enableTooltip:checked").length > 0) { 
     if (item) { 
      if (previousPoint != item.dataIndex) { 
       previousPoint = item.dataIndex; 

       $("#tooltip").remove(); 

       var x = item.datapoint[0].toFixed(2), 
        y = item.datapoint[1].toFixed(2); 

        var td = x.split("/"); 

回答

3

只需將其轉換爲JavaScript數據對象,然後自行構建字符串即可。

var d = new Date(item.datapoint[0]); 
var someDay = d.getDate(); 
var someMonth = d.getMonth() + 1; //months are zero based 
var someYear = d.getFullYear(); 
var stringDate = someMonth + "/" + someDay + "/" + someYear; 

var x = stringDate; 
var y = item.datapoint[1].toFixed(2); 
+0

如何顯示堆積條形圖中的數字?比方說y軸上的3個diff值疊加在一起(正面,負面和中性響應),當我懸停在欄上的相應堆棧上時,如何顯示正確的數字? – peter 2013-04-01 14:18:11

+0

@peter,請詳細說明一個新問題。 – Mark 2013-04-01 17:26:56

+1

@peter,這似乎是你在問什麼:http://stackoverflow.com/questions/3476349/flot-stacked-bar-chart-and-displaying-bar-values-on-mouse-over – Mark 2013-04-01 17:35:15