IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 使用jQuery和chart.js获取并展示环境检测数据 -> 正文阅读

[JavaScript知识库]使用jQuery和chart.js获取并展示环境检测数据

??前面的文章介绍了通过WebAPI获取环境监测数据,同时也解决了jQuery调用WebAPI时的跨源请求问题,本文在ASP.NET Core mvc项目中使用jQuery调用WebAPI获取环境检测数据,并用chart.js绘制图表。
??mvc项目的创建不在赘述,直接在Index.cshtml中添加对chart.js和jquery的引用,然后添加JavaScript代码,主要的处理代码及显示效果如下。代码的主要逻辑是根据WebAPI的返回数据,从中提取烟雾检测值集合,然后使用chart.js中的折线图显示。

<script src="js/chart.js"></script>
<script src="js/jquery-3.6.0.js"></script>
<script type="text/javascript"> 
        $(showChart).click((function()
        {
            $.getJSON("http://127.0.0.1:5003/api/EMData",function(data){
                    var mqValues = [];
                    var flameValues=[];

                    for(var i=0;i<data.length;i++)
                    {
                        mqValues.push(data[i]["mqvalue"]);
                    }

                    const labels = numbers({count: data.length});
                    const data = {
                    labels: labels,
                    datasets: [
                        {
                            label: '烟雾值',
                            data: mqValues,
                            fill: false,
                            borderColor: 'rgb(75, 192, 192)',
                            tension: 0.1
                        }
                        ]
                    };
                    
                    var lineChart = new Chart('mqChart', {
                        type: 'line',
                        data: data,
                        }); 
                });               
        }))        
</script>

在这里插入图片描述??为显示多组值,同时提取火焰传感器的检测值,然后放在同一图表中显示,代码及显示效果如下。可以看到,由于烟雾传感器检测值和火焰传感器的检测值的范围相差较大,导致两条线接近直线(主要是数据库中的数据变化不大),在同一图表中显示的效果一般。

				    var mqValues = [];
                    var flameValues=[];

                    for(var i=0;i<data.length;i++)
                    {
                        mqValues.push(data[i]["mqvalue"]);
                        flameValues.push(data[i]["flameValue"]);
                    }

                    const labels = numbers({count: data.length});
                    const data = {
                    labels: labelss,
                    datasets: [
                        {
                            label: '烟雾值',
                            data: mqValues,
                            fill: false,
                            borderColor: 'rgb(75, 192, 192)',
                            tension: 0.1
                        },
                        {
                            label: '火焰值',
                            data: flameValues,
                            fill: false,
                            borderColor: 'rgb(175, 92, 92)',
                            tension: 0.1
                        }
                        ]
                    };
                    
                    var lineChart = new Chart('mqChart', {
                        type: 'line',
                        data: data,
                        }); 

在这里插入图片描述??为了提高图表效果,将两类数据放在不同的图表中显示,代码与上面的代码类似,这里就不贴出来了,效果图如下所示:
在这里插入图片描述??还得学习改进的地方包括:1)图表和表格中的数据重复获取使用,没有做到数据一次获取、多出复用;2)图表没有并排放。后续还需多学习才行。

参考文献
[1]jQuery开发从入门到精通
[2]https://chartjs.bootcss.com/docs/

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 11:39:18  更:2021-09-09 11:40:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:04:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码