DataGear 製做時序數據可視化看板

經過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

源碼地址:https://gitee.com/datagear/datagearhtm

大屏模板地址:https://gitee.com/datagear/DataGearDashboardTemplate

相關文章
相關標籤/搜索