数据可视化:Echart中k图实现动态阈值报警及实时更新数据

时间:2022-05-08 01:25:56

  1 目标

    使用Echart的k图展现上下阈值,并且当真实值超过上阈值或低于下阈值时候,标红报警。

  2 实现效果

    如下:

    aaarticlea/png;base64,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" alt="" />

  3 代码

  1)头文件,引用jquery.js和echart.js;其中,jquery是实现ajax读取数据的,echart负责数据前端可视化。

<head>
<meta charset="utf-8">
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="echarts.min.js" />
<script src="jquery.min.js" />
<script>
$(document).ready(function(){
})
</script>
</head>

  2)body中创建id为main的div布局。

<div id="main" style="width: 600px;height:400px;"></div>

  3)ajax获取数据,数据放在同级目录中,这种同域的数据传递ajax是允许的,但是非同域是不允许的,需使用jsonp。echart的k图api参照官方文档即可。

<script type="text/javascript">
htmlobj=$.ajax({url: "example-helium-all.json", async: false});
dataobj = htmlobj.responseText
data = JSON.parse(dataobj) // dataobj = String(dataobj)
// alert(dataobj) htmlobj=$.ajax({url: "example-helium-line.json", async: false});
dataobj = htmlobj.responseText
dataLine = JSON.parse(dataobj) // 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main')); // 指定图表的配置项和数据
// 数据意义:开盘(open),收盘(close),最低(lowest),最高(highest)
var data0 = splitData(data) function splitData(rawData) {
var categoryData = [];
var values = []
for (var i = ; i < rawData.length; i++) {
categoryData.push(rawData[i].splice(, )[]);
values.push(rawData[i])
}
return {
categoryData: categoryData,
values: values
};
} option = {
title: {
text: '动态阈值',
left:
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'line'
}
},
legend: {
data: ['阈值', '真实值']
},
grid: {
left: '10%',
right: '10%',
bottom: '15%'
},
xAxis: {
type: 'category',
data: data0.categoryData,
scale: true,
boundaryGap : false,
axisLine: {onZero: false},
splitLine: {show: false},
splitNumber: ,
min: 'dataMin',
max: 'dataMax'
},
yAxis: {
scale: true,
splitArea: {
show: true
}
},
dataZoom: [
{
type: 'inside',
start: ,
end:
},
{
show: true,
type: 'slider',
y: '90%',
start: ,
end:
}
],
series: [
{
name: '阈值',
type: 'candlestick',
data: data0.values, },
{
name: '真实值',
type: 'line',
data: dataLine,
smooth: true,
lineStyle: {
normal: {opacity: 0.5}
}
} ]
}; // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>

  4)example-helium-all.json文件

[[, 377.52664, 344.38693, 377.52664, 344.38693], [, 427.24643, 294.71213, 427.24643, 294.71213], [, 427.26904, 294.73474, 427.26904, 294.73474], [, 427.29175, 294.75745, 427.29175, 294.75745], [, 393.14163, 328.95248, 393.14163, 328.95248], [, 393.1645, 328.97534, 393.1645, 328.97534], [, 393.1877, 328.99857, 393.1877, 328.99857], [, 390.47244, 331.762, 390.47244, 331.762], [, 390.49747, 331.78702, 390.49747, 331.78702], [, 390.52338, 331.81293, 390.52338, 331.81293], [, 377.9352, 344.4537, 377.9352, 344.4537], [, 377.9616, 344.4801, 377.9616, 344.4801], [, 377.98856, 344.50705, 377.98856, 344.50705], [, 380.20532, 342.34515, 380.20532, 342.34515], [, 380.233, 342.37283, 380.233, 342.37283], [, 342.40057, 380.26074, 342.40057, 380.26074], [, 381.4104, 341.30634, 381.4104, 341.30634], [, 381.43872, 341.33466, 381.43872, 341.33466], [, 381.46735, 341.36328, 381.46735, 341.36328], [, 408.49902, 314.3891, 408.49902, 314.3891], [, 408.5277, 314.4178, 408.5277, 314.4178], [, 408.55652, 314.4466, 408.55652, 314.4466], [, 390.49387, 332.5676, 390.49387, 332.5676], [, 390.52307, 332.5968, 390.52307, 332.5968], [, 390.55234, 332.62607, 390.55234, 332.62607], [, 388.86066, 334.37592, 388.86066, 334.37592], [, 388.88956, 334.40482, 388.88956, 334.40482], [, 388.91815, 334.4334, 388.91815, 334.4334], [, 388.12985, 335.27853, 388.12985, 335.27853], [, 388.1578, 335.3065, 388.1578, 335.3065], [, 388.1856, 335.3343, 388.1856, 335.3343], [, 374.74588, 348.8292, 374.74588, 348.8292], [, 374.77365, 348.85696, 374.77365, 348.85696], [, 374.8015, 348.88483, 374.8015, 348.88483], [, 378.441, 345.3013, 378.441, 345.3013], [, 378.46896, 345.32925, 378.46896, 345.32925], [, 378.49673, 345.35703, 378.49673, 345.35703], [, 428.2217, 295.6874, 428.2217, 295.6874], [, 428.24954, 295.71524, 428.24954, 295.71524], [, 428.277, 295.7427, 428.277, 295.7427], [, 394.1316, 329.94244, 394.1316, 329.94244], [, 394.15836, 329.9692, 394.15836, 329.9692], [, 394.18527, 329.99612, 394.18527, 329.99612], [, 391.473, 332.76254, 391.473, 332.76254], [, 391.5003, 332.78986, 391.5003, 332.78986], [, 391.5281, 332.81766, 391.5281, 332.81766], [, 378.94186, 345.46036, 378.94186, 345.46036], [, 378.9704, 345.4889, 378.9704, 345.4889], [, 378.99878, 345.51727, 378.99878, 345.51727], [, 381.21622, 343.35605, 381.21622, 343.35605], [, 381.24405, 343.38388, 381.24405, 343.38388], [, 381.27158, 343.4114, 381.27158, 343.4114], [, 342.31696, 382.42108, 342.31696, 382.42108], [, 382.44885, 342.3448, 382.44885, 342.3448], [, 382.47766, 342.37354, 382.47766, 342.37354], [, 409.51004, 315.40012, 409.51004, 315.40012], [, 409.5399, 315.42996, 409.5399, 315.42996], [, 409.56937, 315.45944, 409.56937, 315.45944], [, 391.50705, 333.58078, 391.50705, 333.58078], [, 391.5363, 333.61002, 391.5363, 333.61002], [, 391.56555, 333.63928, 391.56555, 333.63928], [, 389.8735, 335.38876, 389.8735, 335.38876], [, 389.90186, 335.4171, 389.90186, 335.4171], [, 389.92975, 335.445, 389.92975, 335.445], [, 336.28903, 389.14035, 336.28903, 389.14035], [, 336.31522, 389.16653, 336.31522, 389.16653], [, 336.33966, 389.19098, 336.33966, 389.19098], [, 349.82953, 375.74622, 349.82953, 375.74622], [, 349.85077, 375.76746, 349.85077, 375.76746], [, 375.78818, 349.8715, 375.78818, 349.8715], [, 379.42075, 346.28104, 379.42075, 346.28104], [, 379.44193, 346.30222, 379.44193, 346.30222], [, 379.46292, 346.3232, 379.46292, 346.3232], [, 429.18085, 296.64655, 429.18085, 296.64655], [, 429.20102, 296.66672, 429.20102, 296.66672], [, 429.22095, 296.68665, 429.22095, 296.68665], [, 395.06793, 330.87878, 395.06793, 330.87878], [, 330.89856, 395.0877, 330.89856, 395.0877], [, 330.91904, 395.1082, 330.91904, 395.1082], [, 392.3911, 333.68066, 392.3911, 333.68066], [, 392.41495, 333.7045, 392.41495, 333.7045], [, 392.43954, 333.7291, 392.43954, 333.7291], [, 346.36862, 379.85013, 346.36862, 379.85013], [, 379.87607, 346.39456, 379.87607, 346.39456], [, 346.4222, 379.90372, 346.4222, 379.90372], [, 382.12134, 344.26117, 382.12134, 344.26117], [, 344.29022, 382.1504, 344.29022, 382.1504], [, 382.1796, 344.31943, 382.1796, 344.31943], [, 383.33154, 343.22742, 383.33154, 343.22742], [, 383.3615, 343.25745, 383.3615, 343.25745], [, 383.39148, 343.28735, 383.39148, 343.28735], [, 410.4246, 316.31467, 410.4246, 316.31467], [, 410.45514, 316.3452, 410.45514, 316.3452], [, 410.4862, 316.37628, 410.4862, 316.37628], [, 392.4257, 334.49942, 392.4257, 334.49942], [, 392.4575, 334.53122, 392.4575, 334.53122], [, 392.4896, 334.56332, 392.4896, 334.56332], [, 390.801, 336.31625, 390.801, 336.31625], [, 390.83313, 336.3484, 390.83313, 336.3484], [, 390.8652, 336.38046, 390.8652, 336.38046], [, 390.0809, 337.22958, 390.0809, 337.22958], [, 390.11383, 337.2625, 390.11383, 337.2625], [, 390.1475, 337.29617, 390.1475, 337.29617], [, 376.71426, 350.79758, 376.71426, 350.79758], [, 376.7484, 350.83173, 376.7484, 350.83173], [, 350.86603, 376.7827, 350.86603, 376.7827], [, 380.429, 347.28928, 380.429, 347.28928], [, 380.46454, 347.32483, 380.46454, 347.32483], [, 380.50003, 347.36032, 380.50003, 347.36032], [, 430.23248, 297.69818, 430.23248, 297.69818], [, 430.26746, 297.73315, 430.26746, 297.73315], [, 430.3025, 297.7682, 430.3025, 297.7682], [, 396.16522, 331.97607, 396.16522, 331.97607], [, 396.20044, 332.0113, 396.20044, 332.0113], [, 396.23636, 332.0472, 396.23636, 332.0472], [, 393.53366, 334.8232, 393.53366, 334.8232], [, 393.57144, 334.861, 393.57144, 334.861], [, 393.60995, 334.8995, 393.60995, 334.8995], [, 347.55325, 381.03476, 347.55325, 381.03476], [, 381.07446, 347.59296, 381.07446, 347.59296], [, 381.11465, 347.63315, 381.11465, 347.63315], [, 383.34467, 345.4845, 383.34467, 345.4845], [, 383.3861, 345.52594, 383.3861, 345.52594], [, 383.42804, 345.56787, 383.42804, 345.56787], [, 384.59198, 344.48785, 384.59198, 344.48785], [, 344.5304, 384.63446, 344.5304, 384.63446], [, 344.57343, 384.67755, 344.57343, 384.67755], [, 411.72388, 317.61395, 411.72388, 317.61395], [, 317.65616, 411.76608, 317.65616, 411.76608], [, 317.6962, 411.80612, 317.6962, 411.80612], [, 335.82434, 393.7506, 335.82434, 393.7506], [, 393.78247, 335.8562, 393.78247, 335.8562], [, 393.81055, 335.88428, 393.81055, 335.88428], [, 392.11594, 337.6312, 392.11594, 337.6312], [, 392.1417, 337.65695, 392.1417, 337.65695], [, 337.6819, 392.16663, 337.6819, 392.16663], [, 338.5215, 391.37283, 338.5215, 391.37283], [, 391.3923, 338.541, 391.3923, 338.541], [, 391.40927, 338.55795, 391.40927, 338.55795], [, 377.9583, 352.04163, 377.9583, 352.04163], [, 377.9751, 352.0584, 377.9751, 352.0584], [, 377.99252, 352.07584, 377.99252, 352.07584]]

  example-helium-line.json

[358.67776, 363.2309, 372.22437, 342.15842, 359.8767, 347.37265, 335.09103, 338.20914, 362.7288, 357.2203, 344.53592, 360.79996, 347.97, 361.26456, 374.37595, 334.7296, 359.95694, 362.09586, 360.83908, 362.14783, 351.358, 362.20294, 363.099, 363.26163, 366.8852, 371.4975, 363.97583, 372.9193, 366.46884, 368.6597, 353.8582, 364.29865, 359.6017, 359.1352, 370.92117, 366.0819, 352.75568, 373.61697, 370.7204, 373.44116, 354.07553, 360.90137, 361.7277, 346.60703, 354.61337, 357.924, 362.93018, 370.84097, 371.3528, 365.05255, 363.6487, 364.72665, 331.72076, 347.15277, 361.86887, 367.90466, 357.74023, 380.17484, 351.12756, 379.3863, 374.55054, 368.18207, 376.91376, 388.53027, 401.68597, 404.37204, 394.19757, 377.06522, 348.3718, 362.94482, 370.46066, 367.6459, 374.73242, 370.07297, 371.77652, 354.373, 356.7892, 319.9135, 321.75665, 350.61856, 361.6026, 338.83517, 320.3914, 356.28757, 341.77798, 370.03214, 334.49667, 368.4542, 370.7614, 348.8684, 361.56375, 349.89218, 359.81036, 353.53598, 353.7006, 366.23633, 363.70132, 364.98026, 357.15714, 353.59332, 344.67834, 355.84622, 363.01233, 360.78107, 357.91162, 339.39948, 366.5738, 375.84412, 370.97528, 354.89505, 358.1854, 377.84225, 337.85956, 349.05484, 346.08597, 342.8614, 344.65094, 365.4992, 344.89862, 354.4756, 355.1951, 345.89526, 360.9815, 366.35294, 347.9596, 336.87717, 414.79993, 410.76266, 423.71893, 484.97372, 458.05707, 381.40176, 384.40518, 391.46295, 381.3163, 464.92358, 427.91922, 357.6434, 362.6532, 352.11038, 366.34616, 358.90466]

  4 实时更新数据

  setInterval方法每个时间段更新一次数据,装配数据option的json串,option.series[0].data = data0.values,最后setoption即可。

        function getData(){

            htmlobj=$.ajax({url: "example-helium-all.json", async: false});
dataobj = htmlobj.responseText
data = JSON.parse(dataobj) htmlobj=$.ajax({url: "example-helium-line.json", async: false});
dataobj = htmlobj.responseText
dataLine = JSON.parse(dataobj) var data0 = splitData(data) // alert(option.series[0].name)
option.xAxis.data = data0.categoryData;
option.series[].data = data0.values;
option.series[].data = dataLine;
// myChart.setOption(option, true); // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
} setInterval(function(){
getData();
},);

  5 接下来更新

  接下来更新非同源数据的传递,即在非本地读取,例如需在url为http:10.4.45.236/data/metric/ 的路径获取数据,需使用jsonp实现即可:

  备份:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="echarts.min.js"></script>
<script src="jquery.min.js" />
<script> $(document).ready(function(){
})
</script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript"> // dataobj = String(dataobj)
// alert(dataobj)
var data;
var dataLine; // 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main')); // 指定图表的配置项和数据
// 数据意义:开盘(open),收盘(close),最低(lowest),最高(highest)
option = {
title: {
text: '动态阈值',
left:
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'line'
}
},
legend: {
data: ['阈值', '真实值']
},
grid: {
left: '10%',
right: '10%',
bottom: '15%'
},
xAxis: {
type: 'category',
// data: data0.categoryData,
scale: true,
boundaryGap : false,
axisLine: {onZero: false},
splitLine: {show: false},
splitNumber: ,
min: 'dataMin',
max: 'dataMax'
},
yAxis: {
scale: true,
splitArea: {
show: true
}
},
dataZoom: [
{
type: 'inside',
start: ,
end:
},
{
show: true,
type: 'slider',
y: '90%',
start: ,
end:
}
],
series: [
{
name: '阈值',
type: 'candlestick',
// data: data0.values, },
{
name: '真实值',
type: 'line',
// data: dataLine,
smooth: true,
lineStyle: {
normal: {opacity: 0.5}
}
} ]
}; function splitData(rawData) { var categoryData = [];
var values = []
for (var i = ; i < rawData.length; i++) {
categoryData.push(rawData[i].splice(, )[]);
values.push(rawData[i])
}
return {
categoryData: categoryData,
values: values
};
} function getData(){ htmlobj=$.ajax({url: "example-helium-all.json", async: false});
dataobj = htmlobj.responseText
data = JSON.parse(dataobj) htmlobj=$.ajax({url: "example-helium-line.json", async: false});
dataobj = htmlobj.responseText
dataLine = JSON.parse(dataobj) var data0 = splitData(data) // alert(option.series[0].name)
option.xAxis.data = data0.categoryData;
option.series[].data = data0.values;
option.series[].data = dataLine;
// myChart.setOption(option, true); // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
} setInterval(function(){
getData();
},); </script>
</body>
</html>

数据可视化:Echart中k图实现动态阈值报警及实时更新数据的更多相关文章

  1. 实时更新数据的jQuery图表插件DEMO演示

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. Qt之模型&sol;视图(实时更新数据)

    上两节简单介绍了Qt中对于模型/视图的编程,大部分助手里说的很清楚了,现在就开始实战部分吧! 在实际应用中,视图展示的数据往往并非一成不变的,那么如何实时更新成了一个很重要的问题!功能:(1)添加委托 ...

  3. seaborn线性关系数据可视化:时间线图&vert;热图&vert;结构化图表可视化

    一.线性关系数据可视化lmplot( ) 表示对所统计的数据做散点图,并拟合一个一元线性回归关系. lmplot(x, y, data, hue=None, col=None, row=None, p ...

  4. 实时更新数据,无需刷新:a&comma;如何使用Turbolinks clearCache&lpar;&rpar;&comma; b Action Cable

    视频: https://gorails.com/episodes/how-to-use-turbolinks-clearCache?autoplay=1 用途: 更方便的实时从服务器更新局部网页,在这 ...

  5. AJAX制作JSON格式的实时更新数据的方法

    之前有写过这样的文章,但是出现了几个问题,第一,如果每秒都像数据库发送请求势必会造成服务器的压力过大,第二,如果使用JS的话,是不可以取得系统时间的,因为JS运行在客户端,所以只能取得客户端时间, 如 ...

  6. seaborn分布数据可视化:直方图&vert;密度图&vert;散点图

    系统自带的数据表格(存放在github上https://github.com/mwaskom/seaborn-data),使用时通过sns.load_dataset('表名称')即可,结果为一个Dat ...

  7. 数据可视化echart

    刚接到这个一脸懵逼,到现在还算有点眉目,先上个图庆祝一下,哈哈,开心.... 最近没时间,等待更新..........

  8. 数据可视化-D3js-展示古地理图和古地理坐标反算&Hat;&lowbar;&Hat;gplates古地理坐标反算接口

    在线演示 <!DOCTYPE html> <html> <head> <link type="image/png" rel="i ...

  9. &lbrack;原创&period;数据可视化系列之十二&rsqb;使用 nodejs通过async await建立同步数据抓取

    做数据分析和可视化工作,最重要的一点就是数据抓取工作,之前使用Java和python都做过简单的数据抓取,感觉用的很不顺手. 后来用nodejs发现非常不错,通过js就可以进行数据抓取工作,类似jqu ...

随机推荐

  1. &lbrack;Unity3D&rsqb;添加音效说明

    添加音效组件并添加音乐资源 其中Pitch用来提高和降低音调的,比如可以和赛车游戏的轮胎绑定,当轮胎越快,则音调越高 2D/3D音效:2D音效和摄影家的距离无关,可以看做是一个背景音乐:而3D音效则是 ...

  2. Linux操作系统发展史

    1984年,面对美国电话电报公司启动的UNIX商业化计划和程序开发的封闭模式,麻省理工学院的RichardM.Stallman发起了一项国际性的源代码开放的GNU(GNU's Not Unix)计划, ...

  3. SGU 111&period;Very simple problem

    题目大意:              求平方不大于n(n<=10^1000)的最大的数. 分析:              二分+高精度乘法 或者 高精度开方...               ...

  4. Android设计图(标注、切图)

    1.Android: 1)Android的单位是dp 2)分为ldpi/mdpi/hdpi/xhdpi/xxhdpi. 3)分辨率对应DPI ldpi  QVGA (240×320) mdpi  HV ...

  5. Instant App 即将到来,Android 集权或将加速分裂

    在*,Android 的体验将越来越好,在中国,Android 的更新可能将止步于6.0! 话题讨论:Instant App 在中国将何去何从? 以下为谷歌原创文章 2017-03-03 Googl ...

  6. python中创建虚拟环境

    # virtualenv 虚拟环境安装 pip install virtualenv # 创建虚拟环境        virtualenv [虚拟环境名称] # 进入虚拟环境 windows : 进入 ...

  7. PHP——敏感词过滤

    前言 如果可以用第三方的话,那么你是幸运的,因为现在这种敏感词过滤,敏感图片,敏感语音过滤的第三方服务还是挺多的 敏感词过滤 核心代码 利用PHP内置的三个函数 array_combine() | a ...

  8. 洛谷【P2257】YY的GCD

    YY的GCD 原题链接 这应该是我做的第一道莫比乌斯反演的题目. 题目描述 神犇YY虐完数论后给傻×kAc出了一题 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x ...

  9. C&num;学习-const和readonly

    const是表示为常量的关键字,一旦赋值就不能改变了.是程序编译时候CLR就将const的值编译到IL代码中了. readonly也是常量的关键的字: 所以,有了这两个关键字的比较.readonly肯 ...

  10. Newtonsoft&period;Json 高级用法

    基本用法 Json.NET是支持序列化和反序列化DataTable,DataSet,Entity Framework和Entity的.下面分别举例说明序列化和反序列化. DataTable: //序列 ...