2013-07-03 70 views

回答

7

您可以通過具有包含一個空數組空數組「黑客」這個:

data2 = [ 
    { 
    "key" : "A key" , 
    "values" : [[]] 
    } 
]; 
+0

我們可以有自定義消息,而不是任何圖表或「無可用數據」的消息? – Dinesh

+0

您需要修改我認爲的來源。 –

+0

我應該修改scatter.js嗎?但我沒有找到任何沒有數據可用的消息 – Dinesh

4

由拉爾斯提供的答案效果很好,當你不想當顯示在圖表上noData消息的空。

最近我有圖表動態加載內容。我發現了一個類似的問題,這Updating with no data does not clear old data from the chart.

如果圖表中填充數據,然後更新被稱爲數據已被清空之後,無數據文本將覆蓋現有的數據。

請考慮是否應該從圖表中清除當前數據,因爲它可能會令人困惑,因爲它們會同時看到兩者。

我沒能找到一個乾淨的解決方案,這一點,所以在這裏我就是這樣做去克服它:

用於拉爾斯答案清空圖表:

data2 = [{ 
    "key" : "A key", 
    "values" : [[]] 
}]; 

然後加入代碼如下。

d3.select('#chart svg').append("text") 
     .attr("x", "235") 
     .attr("y", "35") 
     .attr("dy", "-.7em") 
     .attr("class", "nvd3 nv-noData") 
     .style("text-anchor", "middle") 
     .text("My Custom No Data Message"); 

即使我正確的解決了它,顯示noData文本沒有它覆蓋現有的數據。但現在,這完美地工作。

希望它有助於一個人,試圖實現同樣的事情。

5

你可以打電話noData和圖表創建過程中傳遞的字符串:

(CoffeeScript的)

self.chart = nv.models.lineChart() 
       .margin left: 100, right: 100 
       .useInteractiveGuideline true 
       .transitionDuration 150 
       .showLegend true 
       .showYAxis true 
       .showXAxis true 
       .noData 'no data, there is'