[英]Struts 2 jquery chart load chart data with local data
我想用本地數據加載圖表數據。
<sjc:chart
id="chartPlaceHolder"
cssStyle="width: 600px; height: 400px;"
pie="true"
pieLabel="true"
dataType="local"
/>
然后我使用了(如Javascript中的刷新/重新加載Flot中所述 )
//This data is created dynamically from a grid when grid completed
var chartData= [
{ label: "Chrome", data: 36.3, color: "#89A54E"},
{ label: "Other", data: 0.8, color: "#3D96AE"}
];
var plot = $.plot($('#chartPlaceHolder'));
plot.setData(chartData);
plot.setupGrid();
plot.draw();
我在jquery API中aB is undefined
一些jquery異常aB is undefined
任何意見 ?!
您缺少$.plot()
兩個附加參數。
您應該閱讀基本用法 。
創建一個占位符div以將圖形放入:
<div id="placeholder"></div>
您需要設置該div的寬度和高度,否則圖庫不知道如何縮放圖形。 您可以這樣內聯:
<div id="placeholder" style="width:600px;height:300px"></div>
您也可以使用外部樣式表進行操作。 確保占位符不在顯示內容之內:無CSS屬性-在這種情況下,Flot無法測量標簽尺寸,從而導致外觀亂碼,並且可能無法測量占位符,這是致命的(它將拋出例外)。
然后,當div在DOM中准備就緒(通常在文檔上准備就緒)時,運行plot函數:
$.plot($("#placeholder"), data, options);
在這里,數據是數據系列的數組,而選項是具有設置的對象(如果要自定義圖)。 請看一下示例,以了解有關插入內容的一些想法,或者看一下API參考。 這是一個簡單的示例,它將在(0,0)到(1,1)之間畫一條線:
$.plot($("#placeholder"), [ [[0, 0], [1, 1]] ], { yaxis: { max: 1 } });
編輯:
您可以嘗試以下代碼。 創建沒有數據的圖表后,它將使用數據重新加載圖表。
<sjc:chart
id="placeholder"
cssStyle="width: 600px; height: 400px;"
pie="true"
pieLabel="true">
</sjc:chart>
<script>
$(function(){
var chartData= [
{ label: "Chrome", data: 36.3, color: "#89A54E"},
{ label: "Other", data: 0.8, color: "#3D96AE"}
];
var series = { pie: { show: true }};
var o = {};
o.data = chartData;
o.series= series;
$.struts2_jquery_chart.chart($("#placeholder"), o);
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.