2016-03-31 45 views
1

我正在使用NVD3 multiChart模型做一個圖表,我有4個系列,3個與左側yAxis相關的條和1個與右側yAxis相關的線。NVD3:multiChart系列的錯誤格式

3個柱子只有一個浮點值,其中線有一個化學位。 一切工作正常,但工具提示中有一些東西沒有正確格式化(根本沒有格式化)。

你有什麼想法我可以有相同的日期格式我有底部?

1458428400 -> 20-03-16 

感謝

enter image description here

回答

1

你可以做到以下幾點:

  1. 定義一個時代轉換到一個很好的日期功能。事情是這樣的:

    function epochToNiceDate(epoch) { 
        var date = new Date(0); 
        date.setUTCSeconds(epoch); 
        var day = date.getDate(); 
        var month = date.getMonth() + 1; 
        var year = date.getFullYear(); 
        return day + "-" + month + "-" + year; 
    } 
    
  2. 傳遞內容生成功能爲您提示到您的圖表(假設你有useInteractiveGuideline啓用)。您可以瀏覽NVD3的源代碼並複製/粘貼默認內容生成器,然後根據需要進行修改。讓我們用下面的一個爲例:

    chart.interactiveLayer.tooltip.contentGenerator(function (d) { 
        var tooltipTitle = epochToNiceDate(d.value); 
        var tooltip = ""; 
    
        tooltip += "<table>"; 
        tooltip += "<thead>"; 
        tooltip += "<tr><td colspan='3'><strong class='x-value'>" + tooltipTitle + "</strong></td></tr>"; 
        tooltip += "</thead>"; 
        tooltip += "<tbody>" 
    
        for(var i in d.series) { 
         var currentSeries = d.series[i]; 
         var color = currentSeries.color; 
         var key = currentSeries.key; 
         var value = currentSeries.value; 
    
         tooltip += "<tr>"; 
         tooltip += " <td class='legend-color-guide'>"; 
         tooltip += "  <div style='background-color: " + color + ";'></div>"; 
         tooltip += " </td>"; 
         tooltip += " <td class='key'>" + key + "</td>"; 
         tooltip += " <td class='value'>" + value + "</td>"; 
         tooltip += "</tr>"; 
        } 
    
        tooltip += "</tbody>"; 
        tooltip += "</table>"; 
    
        return tooltip; 
    }); 
    

你可以看到它在這裏的行動:https://jsfiddle.net/Luc93/qf4u5439/

祝你好運!