2015-05-04 45 views
1

我使用jqplot從HTML表格創建餅圖。jqplot從表中設置數據系列

但是,當試圖設置一個var時,圖表不會繪圖。

如果我只是設置了許多的變種,如:

var DataTest = 22; 

然後圖表工作正常。

然而,當我從表中獲得的價值沒有,如下圖所示:

var DataTest = $(dataID + ' td:nth-child(46)').text(); 

餅圖不會顯示。

餅圖系列正在通過VAR還設置:

var PieChartS1 = [ ['Label', DataTest] ]; 

然後包括在圖表代碼如下:

var PieChartPlot = $.jqplot('PieChart', [PieChartS1, PieChartS2 ], { 
seriesDefaults: { 
    renderer:$.jqplot.DonutRenderer, 
    rendererOptions:{ 
    sliceMargin: 1, 
    startAngle: -145, 
    showDataLabels: true, 
    dataLabels: 'label', 
    padding: '5', 
    ringMargin: '5', 
    dataLabelThreshold: '1', 
    highlightMouseOver: true, 
    } 
}, 
grid: {background: 'transparent', borderWidth: '0', cursor: 'pointer',}, 

}); 

我不知道它是否是格式問題?

感謝所有幫助

理查德

更新:

想知道是否該圖是由腳本構成已獲得的數據之前,所以它只是顯示空白,因爲它是找不到數據。也許我需要延遲圖形的形成,直到「獲取數據」腳本完全執行完畢?

+0

我畫了一個的jsfiddle http://jsfiddle.net/6x82om3x/3/ 具有測試腳本顯示,它是不是在我的網站內甜甜圈。但是,您可以清楚地看到它沒有正確顯示數據,並且標籤也沒有顯示。 第一個按鈕使用指定的值,第二個按鈕使用此代碼的示例從內部圓環中的表中獲取值。 在chrome中的錯誤報告中也沒有錯誤。 –

回答

0

從別處得到了一些幫助。

它需要被指定爲整數,所以需要改變是:

var DataTest = parseInt($(dataID + ' td:nth-child(46)').text()); 

這工作得很好。

+0

只是一個簡短的說明,如果你想要小數使用parseFloat而不是parseInt。要指定小數位數,請添加.toFixed,parseFloat((code).toFixed(2));其中2是小數位數 –