共计 1618 个字符,预计需要花费 5 分钟才能阅读完成。
应用 DataGear 的参数化数据集和看板 API 性能,能够很不便地制作实时数据可视化看板。
首先,以工夫为参数,新建一个参数化 SQL 数据集:
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>
参数:
名称 类型 必填
工夫 字符串 否
上述数据集在未指定工夫参数时加载最后的 5 条数据,指定了工夫参数时,则加载一条数据。
而后,新建一个应用上述数据集的折线图图表:
图表类型:平滑折线图
数据集列标记:COL_TIME:名称 (name);COL_VALUE:数值 (value)
更新距离:1000 毫秒
而后,新建可视化看板,填写如下看板模板内容:
<!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 chartDataSet = chart.chartDataSetMain();
var datas = chart.resultDatasOf(results, chartDataSet);
if(datas.length > 0)
{if(timeSeriesData.length == 0)
timeSeriesData = datas;
else
{timeSeriesData = timeSeriesData.concat(datas);
// 限定时序窗口数据量为 10
while(timeSeriesData.length > 10)
timeSeriesData.shift();}
// 设置图表下一次刷新时取数的工夫参数
var nextTimeParam = datas[datas.length - 1]["COL_TIME"];
chart.dataSetParamValueFirst(0, nextTimeParam);
}
chart.resultDataOf(results, chartDataSet, 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>
点击 [保留并展现] 按钮,关上看板展现页面,实现!!!
效果图如下所示:
官网地址:http://www.datagear.tech
源码地址:
Gitee:https://gitee.com/datagear/datagear
Github:https://github.com/datageartech/datagear
正文完