經過DataGear的參數化數據集和看板API功能,能夠很方便地製做包含時序圖表的看板。javascript
首先,以時間爲參數,新建一個參數化SQL數據集:css
SELECT COL_TIME, COL_VALUE FROM T_TIME_SERIES <#if 時間??> WHERE COL_TIME > '${時間}' </#if> ORDER BY COL_TIME ASC <#if 時間??> LIMIT 0, 1 <#else> LIMIT 0, 5 </#if>
參數:html
名稱 類型 必填 時間 字符串 否
上述數據集在未指定時間參數時加載最初的5條數據,指定了時間參數時,則加載一條數據。java
而後,新建一個使用上述數據集的折線圖圖表:git
圖表類型:平滑折線圖 數據集列標記:COL_TIME:名稱 (name);COL_VALUE:數值 (value) 更新間隔:1000毫秒
而後,新建可視化看板,填寫以下看板模板內容:sql
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>測試-時序圖表</title> <style type="text/css"> .dg-chart{ display: inline-block; width: 60%; margin-left: 20%; height: 400px; } </style> <script type="text/javascript"> //存儲時序窗口內要顯示的數據 var timeSeriesData = []; var chartListener= { onUpdate: function(chart, results) { var result = results[0]; var data = result.data; if(data.length > 0) { if(timeSeriesData.length == 0) timeSeriesData = data; else { timeSeriesData = timeSeriesData.concat(data); //限定時序窗口數據量爲10 while(timeSeriesData.length > 10) timeSeriesData.shift(); } //設置圖表下一次刷新時取數的時間參數 var nextTimeParam = data[data.length - 1]["COL_TIME"]; chart.dataSetParamValue(0, 0, nextTimeParam); } result.data = timeSeriesData; } }; </script> </head> <body class="dg-dashboard"> <div style="position: absolute;left:1;top:1;font-size:12px;"> DataGear <br> http://www.datagear.tech </div> <div style="font-size:2em;text-align:center;margin-bottom:5px;">DataGear 看板示例</div> <p> </p> <div class="dg-chart" dg-chart-listener="chartListener" dg-chart-disable-setting="true" dg-chart-widget="[上述圖表ID]"></div> </body> </html>
點擊[保存並展現]按鈕,打開看板展現頁面,完成!!!測試
效果圖以下所示:spa
官網地址:http://www.datagear.techcode