Highcharts 动态加载数据

本文介绍了一种使用Highcharts库来展示应用活跃度的方法。通过后台传递JSON数据格式,前端利用jQuery和Highcharts实现了活跃度随时间变化的图表。该图表能够清晰地反映出不同应用在各个时间段内的活跃情况。
部署运行你感兴趣的模型镜像
前言 :首先 请自行到官网去下载js文件 http://www.hcharts.cn

后台传过来的数据格式:

{"钢联":[{"period":300,"time":"10:01:00","app_id":"123","app_name":"钢联","sessions":0},{"period":300,"time":"10:02:00","app_id":"123","app_name":"钢联","sessions":0},{"period":300,"time":"10:03:00","app_id":"123","app_name":"钢联","sessions":0},{"period":300,"time":"10:04:00","app_id":"123","app_name":"钢联","sessions":2},{"period":300,"time":"10:05:00","app_id":"123","app_name":"钢联","sessions":14}],"旅游族":[{"period":300,"time":"10:01:00","app_id":"test123","app_name":"旅游族","sessions":0},{"period":300,"time":"10:02:00","app_id":"test123","app_name":"旅游族","sessions":1},{"period":300,"time":"10:03:00","app_id":"test123","app_name":"旅游族","sessions":25},{"period":300,"time":"10:04:00","app_id":"test123","app_name":"旅游族","sessions":0},{"period":300,"time":"10:05:00","app_id":"test123","app_name":"旅游族","sessions":0}]}


下面 前台 获取数据 展示

<script type="text/javascript">
var chart;
$(document).ready(function() {
$("#home_active").addClass("active");
var datas = ""; //接收 series数据 切记数据符合[{},{}]
//加载app活跃度数据;
var app_sessions = [];//每分钟活跃度次数
var app_date = [];//时间段
$.ajax({
url: "${ctx}/mdrback/list",
type: "POST",
async: true,
data: {
"size": 5,
"endDate": new Date()
},
dataType: "json",
success: function(data) {
for (i in data) {
var app = data[i];
for (j in app) {
app_date[j] = app[j].time; //当前活跃时间段
app_sessions[j] = app[j].sessions; //活跃次数
}
datas += "{name: '" + i + "',data:[" + app_sessions + "]},"; //组装数据图
}

chart = new Highcharts.Chart({
chart: {
//设置曲线 线条类型
defaultSeriesType: 'spline',
//曲线图放到 id 为container的 div 中显示
renderTo: "container",

width: 600
},
title: {
text: 'App activity of the top five',
x: -20 //center
},
subtitle: {
text: 'Source: kitapps.com.cn',
x: -20
},
xAxis: {
categories: app_date
},
yAxis: {
title: {
text: 'Activity (/ second)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: '(number)'
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: eval("[" + datas.substring(0, datas.length - 1) + "]") //转换 成series的图片数据 接受数组[{},{}]数据
});
},
error: function(data) {
alert("load data error");
}
});
});
</script>


如有 不规范之处,还望指出 ,谢谢!

您可能感兴趣的与本文相关的镜像

Dify

Dify

AI应用
Agent编排

Dify 是一款开源的大语言模型(LLM)应用开发平台,它结合了 后端即服务(Backend as a Service) 和LLMOps 的理念,让开发者能快速、高效地构建和部署生产级的生成式AI应用。 它提供了包含模型兼容支持、Prompt 编排界面、RAG 引擎、Agent 框架、工作流编排等核心技术栈,并且提供了易用的界面和API,让技术和非技术人员都能参与到AI应用的开发过程中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值