精华内容
下载资源
问答
  • 数据可视化中不仅仅需要对历史数据进行展示,常常还需要对实时数据进行处理、展示并更新数据库 我采用的是

    数据可视化中不仅仅需要对历史数据进行展示,常常还需要对实时数据进行处理、展示并更新数据库
    我采用的是轮询的方法
    部分页面

    <%--
      Created by IntelliJ IDEA.
      User: Jigubigu
      Date: 2018/12/10
      Time: 16:47
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>数据监控</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <%--    <link href="http://cdn.bootcss.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">--%>
        <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
        <script type="text/javascript" src="js/echarts.js"></script>
        <script type="text/javascript" src="js/option.js"></script>
        <script type="text/javascript" src="js/getLogging.js"></script>
        <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.css">
        <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <style>p{line-height: 90%}</style>
    </head>
    <body>
    <nav class="navbar navbar-default navbar-static-top">
    <div class="container-fluid">
        <div class="navbar-header">
            <a class="navbar-brand" href="login.jsp">智能制造</a>
        </div>
        <div>
            <ul class="nav navbar-nav">
                <li class="active"><a href="#">首页</a></li>
                <li><a href="#">机器选择</a></li>
                <li><a href="#">刷新页面</a>
                </li>
            </ul>
        </div>
    </div>
    </nav>
    <div class="container-fluid">
        <div class="row clearfix">
            <div class="col-md-3"  >
                <div class="jumbotron" style="height: 30%;padding: 4%;top: 40%;">
                    <img style="padding: 13%	;top:0;bottom:0;left:0;right:0;width:100%;margin:auto;" src="assets/machin1.png">
                </div>
                <div class="jumbotron" style="height: 30%;padding: 0%;" id="machinea">
                    <div style="height: 20%;">
                        <p>
                            <br />
                            &nbsp;&nbsp;&nbsp;&nbsp;<strong>机器参数:</strong>
                        </p>
                        <p id="n">
                            <strong>进给率: 0  &nbsp;mm/min</strong>
                        </p>
                        <p id="f">
                            <strong>主轴转速:0  &nbsp;n/min</strong>
                        </p>
                        <p id="ap">
                            <strong>切割深度:0  &nbsp;mm</strong>
                        </p>
                        <p id="ae">
                            <strong>切割宽度:0  &nbsp;mm</strong>
                        </p>
                        <br />
                        <p>
                            <strong>刀具磨损量:0.22 &nbsp;mm</strong>
                        </p>
                    </div>
                    <div id="machine" style="height: 80%;width: 100%"></div>
    <script>
                        setInterval(function start( ) {
                            $.ajax({
                                type : 'post',	//传输类型
                                async : false,	//同步执行
                                url : '/machineParameter',	//web.xml中注册的Servlet的url-pattern
                                data : { "machineId":machine},
                                dataType : 'json', //返回数据形式为json
                                success : function(result) {
                                    if (result) {
                                        console.log("result is:" + result);
                                        var n = result[0].n;
                                        var f = result[0].f;
                                        var ap = result[0].ap;
                                        var ae = result[0].ae;
                                        console.log(result[0])
                                        document.getElementById("n").innerHTML = " &nbsp;&nbsp;&nbsp;&nbsp;<strong>进给率: "+n+" mm/min</strong>";
                                        document.getElementById("f").innerHTML = " &nbsp;&nbsp;&nbsp;&nbsp;<strong>主轴转速: "+f+" n/min</strong>";
                                        document.getElementById("ap").innerHTML =" &nbsp;&nbsp;&nbsp;&nbsp;<strong>切割深度: "+ap+" mm</strong>";
                                        document.getElementById("ae").innerHTML = " &nbsp;&nbsp;&nbsp;&nbsp;<strong>切割宽度: "+ae+" mm</strong>";
    
                                    }
                                },
                                error : function(errorMsg) {
                                   console.log("shi");
                                }
                            });
                            $.ajax({
                                type : 'post',	//传输类型
                                async : false,	//同步执行
                                url : '/logServlet',	//web.xml中注册的Servlet的url-pattern
                                data : {},
                                dataType : 'json', //返回数据形式为json
                                success : function(result) {
                                    if (result) {
                                        var str="<p><strong>全局日志</strong></p>";
                                        console.log("result is:" + result);
                                        console.log(result[0])
                                        for (var i = 0; i < result.length; i++){
                                           str += "<p style=\"font-size:large;\">时间:"+
                                                result[i].time +" 机器号:"+ result[i].machineId + " 日志信息:" +
                                               result[i].log + "</p>";
                                 
                                        }
                                        document.getElementById("log").innerHTML  = str;
                                    }
                                },
                                error : function(errorMsg) {
                                    console.log("shi");
                                }
                            });
                        },1000);
                    </script>
                   <div class="jumbotron" id="log" style="height: 40%;padding: 10%;">
                </div>
    
            </div>
            </div>
    
    展开全文
  • 本文探讨了仪表板作为数据分析和可视化工具的好处,并推荐了使用免费的数据可视化库构建基于Web的仪表板的方法。为Web应用程序提供数据可视化功能可能是一项挑战。 首先,作为开发人员,您必须找到适合您应用程序...

    本文探讨了仪表板作为数据分析和可视化工具的好处,并推荐了使用免费的数据可视化库构建基于Web的仪表板的方法。

    786754b699d46a2d61459663de369408.png

    为Web应用程序提供数据可视化功能可能是一项挑战。

    首先,作为开发人员,您必须找到适合您应用程序现有技术堆栈的工具。

    其次,该工具必须满足项目的特定功能和非功能要求。

    为了简化您的搜索,我建议您看一下我更喜欢在项目中使用的那些交互式数据可视化工具。

    我希望您会发现此概述对需要数据报告和可视化功能的Web项目很有用。

    常见类型的数据可视化工具

    最受欢迎的数据可视化工具是 图表 和 数据透视表。结合在一起,它们可以很好地用作一种新型的数据可视化工具-仪表板。这就是为什么我决定在研究期间特别注意它们的原因。

    这导致我们遇到两个重要的问题:仪表板是什么以及如何使用这些数据可视化组件创建仪表板。

    仪表板的目的是什么

    仪表板是一组数据可视化元素,它们放置在单个页面上并由一个共同的目标结合在一起。

    为什么仪表板很重要?

    仪表板提供了主要指标和KPI的概览。

    它使数据分析人员可以从多个角度查看数据,得出有关其含义的结论,并发现趋势。

    所有这些构成了仪表板作为数据报告和决策工具的核心优势。

    数据透视表可视化

    枢轴表 是数据的可视化技术,该技术在一个概括的形式呈现数据。它还允许分组,排序,过滤,更改聚合和重新排列数据记录,并用作报告的主要工具。

    Web 数据透视表控件最杰出的代表之一是 WebDataRocks数据透视表。此客户端组件旨在允许最终用户通过加载JSON或CSV数据在几分钟内启动数据分析项目。

    用户可以灵活控制数据的准备方式:他们可以选择聚合函数,创建计算值并决定如何过滤和排序结果。

    另外,由于支持CSV数据格式,因此可以无缝地将Excel数据加载到Web数据透视表中。

    数据透视表的另一个重要特征是它的 交互性。在应用程序中设置了报告工具后,最终用户可以 即时编写报告。

    该数据透视表可以用作独立的数据分析工具,也可以用作仪表板的一部分。在后一种情况下,它将充当获取原始数据并根据用户目标对其进行预处理的引擎。

    aba54b9080e720a149cdcbd40b83a233.gif


    图表可视化

    图表突出显示了表格数据可视化中不容易注意到的那些数据方面。每个图表都有自己的目的。根据您的数据可视化目标是什么,您可以选择图表以可视化 数据分布, 关联性, 数据组成等。

    您可以使用的最受欢迎的图表库是 Google ChartsamChartsHighchartsFusionCharts。其中大多数免费用于非商业目的,但其中一些免费用于商业项目,例如Google Charts。

    现在,将数据透视表和图表放在一起以创建数据仪表板并获得理想的数据仪表板。

    这是怎么回事。

    如何使用数据透视表和图表创建仪表板

    您可以将WebDataRocks Pivot与Google图表,amCharts,Highcharts或FusionCharts集成,并创建功能强大的交互式仪表板。

    得到的基于Web的仪表板小号更多的销售仪表盘,市场分析仪表板,客户服务仪表盘,以及:能适合广泛的用途。

    由于所有这些库都与顶级前端框架集成,因此您可以在VueAngularReactReact Native应用程序中构建数据可视化项目。

    以下是一些演示,它们使您了解使用这些JS库可以实现的目标:

    • FusionCharts的仪表板,带有数据透视表和世界地图
    • 带有枢纽分析表和Google图表的地理图表的资讯主页
    • 带有数据透视表和Highcharts的仪表板

    包装全部

    这次,我们快速浏览了使用免费 数据可视化库在Web应用程序中构建仪表板的方法。

    从开发人员的角度来看,该过程非常简单:使用 集成指南,开发人员可以在应用程序中设置数据透视表,将数据表提供给数据透视表,将表与图表集成,并根据用户的需求自定义结果仪表板。

    此外,WebDataRocks Pivot为组件的行为和外观定制提供了广泛的JavaScript API。

    同时,最终用户将获得一个工具,使他们可以交互式地撰写报告,将其导出为PDF,Excel或HTML,并向受众展示数据发现。

    我希望您会发现它的价值。

    展开全文
  • muze:Web可组合的数据可视化库,采用WebAssembly的数据优先方法
  • Muze是一个数据可视化库,它使用分层的图形语法(GoG)为Web创建可组合的交互式数据可视化。 它使用数据优先方法来定义图表的构造和层,自动生成跨图表交互,并允许您覆盖图表上的任何行为或交互。
  • 通过jdbc访问数据库获取数据才上一篇博客中已经完成啦:...在JS页面中通过Ajax访问servlet,实现异步刷新,并将数据通过echarts的可视化 在servl...

    通过jdbc访问数据库获取数据才上一篇博客中已经完成啦:https://blog.csdn.net/weixin_43422355/article/details/83348750

    这次的工作主要分为三个方面:

    • 在JSP页面中定义按钮,通过点击按钮调用havaChoose()方法

    • 在JS页面中通过Ajax访问servlet,实现异步刷新,并将数据通过echarts的可视化

    • 在servlet中将数据转换成Json格式

    1.在JSP页面中定义按钮
    在jsp页面中定义点击按钮调用havechoose()方法

    <a onclick="havechoose()" style="font-size: 12px;" class="button button-rounded button-tiny">
    <span>查询</span>
    </a>
    

    这里用的是bootstrap框架实现的按钮

    class = “button button-rounded button-tiny”

    2.在JS页面中通过Ajax访问servlet
    通过post方法请求servlet并可视化数据

    //echarts部分设置
    var option = {
        tooltip : {
            show : false
        },
        title: {
            text: '机器1历史功率'
        },
        tooltip: {
            trigger: 'axis'
        },
        toolbox: {
            left: 'center',
            feature: {
                dataZoom: {
                    yAxisIndex: 'none'
                },
                restore: {},
                saveAsImage: {}
            }
        },
        dataZoom: [{
            startValue: '2018-08-07 09:43:33.0'
        }, {
            type: 'inside'
        }],
        /*-----------------------*/
        visualMap: {
            top: 10,
            right: 10,
            pieces: [{
                gt: 0,
                lte: 100,
                color: '#096'
            }, {
                gt: 100,
                lte: 200,
                color: '#ffde33'
            }, {
                gt: 200,
                lte: 300,
                color: '#ff9933'
            }, {
                gt: 300,
                lte: 400,
                color: '#cc0033'
            }, {
                gt: 400,
                lte: 500,
                color: '#660099'
            }, {
                gt: 500,
                color: '#7e0023'
            }],
            outOfRange: {
                color: '#999'
            }
        },
        legend : {
            data : [ '消耗功率' ]
        },
        xAxis : [ {
            type : 'category'
        } ],
        yAxis : [ {
            type : 'value'
        } ],
        series : [ {
            name : '功率',
            type : 'line'
        } ]
    };
    //读取数据并可视化
    function havechoose(){
        /*document.write("<div id=\"myDiv\" style=\"height: 400px;weight: 200px;\"></div>");*/
        /*document.write("<div id='myDiv'style='height: 4000px;weight: 2000px;'></div>");*/
        var startDate = document.getElementById("startDate").value;
        var endDate = document.getElementById("endDate").value;
        var machineNumber = document.getElementById("machineNumber").value;
        $.ajax({
            type : 'post',	//传输类型
            async : false,	//同步执行
            url : '/logic/historyMachine',	//web.xml中注册的Servlet的url-pattern
            data : {"startDate":startDate, "endDate":endDate, "machineNumber":machineNumber},
            dataType : 'json', //返回数据形式为json
            success : function(result) {
                if (result) {
                    console.log(result);
                    //初始化xAxis[0]的data
                    option.xAxis[0].data = [];
                    for (var i=0; i<result.length; i++) {
                        option.xAxis[0].data.push(result[i].time);
                    }
                    //初始化series[0]的data
                    option.series[0].data = [];
                    for (var i=0; i<result.length; i++) {
                        option.series[0].data.push( parseInt(result[i].power));
                    }
                }
            },
            error : function(errorMsg) {
                alert("加载数据失败");
            }
        });//AJAX
        var myChart = echarts.init(document.getElementById('myDiv'));
        myChart.showLoading();
    
        //加载数据到option
        //loadData(option);
        //设置option
        myChart.hideLoading();
        myChart.setOption(option);
    }
    

    这里需要注意servlet的配置,确保url地址不出错
    确保JS页面中的url:中填写的是url-pattern中的路径

      <servlet>
            <servlet-name>historyMachine</servlet-name>
            <servlet-class>logic.historyMachine</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>historyMachine</servlet-name>
            <url-pattern>/logic/historyMachine</url-pattern>
        </servlet-mapping>
    

    3.在servlet中将数据转换成Json格式
    这里用到json格式转换的包
    https://download.csdn.net/download/weixin_43422355/10828075

    首先通过jdbc从数据库中获取数据:

           ArrayList<Data> result = null;
            jdbc DataBase = null;
            try {
                DataBase = new jdbc();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            String sql = "select * from testtable2t";
            try {
                result = DataBase.getData(sql);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            System.out.println(result);
    

    在通过包中的方法将ArrayList转换为jason格式并想页面输出

    JSONArray data = JSONArray.fromObject(result);
            System.out.println(data.toString());
    
            PrintWriter out = response.getWriter();
            out.println(data);
            out.flush();
            out.close();
    
    展开全文
  • WEB--数据可视化资源

    千次阅读 2013-02-25 09:52:01
    大数据时代的到来,对于数据分析以及数据展示都是极大的...datav.js就是为了降低日常对于可视化方法使用的成本,用数据可视化的方法帮助到更多的人。 1.datav.js可视化组件库 地址:http://datavlab.org/2012/08/2

    大数据时代的到来,对于数据分析以及数据展示都是极大的挑战。数据可视化是应对这一挑战非常有效的方法。但是由于之前数据可视化偏向于学术化和定制化,不 易于在日常大规模复用,这很大程度上限制了数据可视化的普及。datav.js就是为了降低日常对于可视化方法使用的成本,用数据可视化的方法帮助到更多的人。

    1.datav.js可视化组件库

    地址:http://datavlab.org/2012/08/23/3385

               http://datavlab.org/datavjs/#bubble

               http://datavlab.org/2012/01/20/667

    2flashcanvas可视化组件库(推荐)

    地址:http://flashcanvas.net/examples/thejit.org/demos/

    3.网易的可视化

    地址:http://news.tag.163.com/?from=guide#from=one-week

    展开全文
  • 之前用的轮询方法有些缺点,发出读取请求的频率是固定的,在数据更新频率较慢的时候会占用过多的资源做无用功,在数据更新频率较快的时候读取的数据可能是已经更新过多次的,遗漏了部分数据或读到的是伪实时数据。...
  • web页面上可视化展示JSON数据方法

    万次阅读 2017-12-26 23:05:55
    0 引言最近需要做一个接口管理的功能,需要在前端页面展示从接口获取到的json数据,我上网查了一些资料,发现有 jquery的一个插件可以使用:jQuery.json-viewer 。页面展示的效果很好,但是需要安装npm包来实现。那么...
  • 以50多种不同方式可视化数据。 将数据输出到各种数据库和文件格式。 通过模板和内部脚本从内部扩展Dex。 保存扩展以供以后重用。 其他资源 要求 Java 8 安装 有两种主要的安装Dex的方法。 请按照以下说明通过Git...
  • 点击上方蓝字 关注我们1数据可视化相关的库D3 是一个...D3是Github上最流行的数据可视化项目,在数据科学界有很好的表现。官方网址:https://d3js.org/。ECharts提供了常规的折线图、柱状图等;用于地理数据可...
  • Introduction to the Data Visualization with D3 Challenges D3.js,也叫 D3,表示数据驱动文档。...你可以使用 D3 的内建方法通过 HMTL 或者 SVG 元素实现数据可视化。 D3 提供了大量控制数据的方法
  • 本章简单介绍数据可视化的发展历史、可视化工具分类,重点结合ECharts介绍 Web可视化组件生成方法,并给出Java Web开发与相关大数据组建的数据集成,以展现数据可视化结果
  • 最近需要做一个接口管理的功能,需要在前端页面展示从接口获取到的json数据,我上网查了一些资料,发现有 jquery的一个插件可以使用:jQuery.json-viewer。页面展示的效果很好,但是需要安装npm包来实现。那么有没有...
  • 案例上手 Python 数据可视化

    万次阅读 多人点赞 2019-02-27 23:30:05
    6 个常用的数据可视化工具使用方法 20 个案例贯穿各个工具的学习过程 基于 GUI / HTML / Web 网站多种绘图风格 中、美、日三国不同思想的制图工具 从静态到交互,满足不同需要的图示 课程背景 数据可视化是数据...
  • 因为之前写的接口改了,更新了下 ...5.pyecahrts 主要功能:数据可视化制作地图等 版本1.7.0 6.flask 主要功能:web展示 环境 python3.7 浏览器:Chrome浏览器 三 绘制地图 获取数据方法 返回的是数据需
  • D3.js是一个用于网页作图、生成互动图形的JavaScript函数库。它提供一个d3对象,所有方法都通过这个对象调用
  • 前面有写过借助Node-RED实现Modicon M262数据可视化呈现于Web的方案。效果如下:现介绍另一种通过Python实现PLC数据可视化呈现于Web端的方案。主要技能:Python+Flask+Bootstrap+Echarts+Modbus TCP/OPC UA实现方法:...
  • 编辑推荐:本文来自cnblogs,本文主要介绍了D3js一个可视化工具,并且以实际案例讲解了数据可视化的设计、方法、过程和结果等相关内容。摘要:本文以本人目前所做项目为基础,从设计的角度探讨数据可视化的设计的方法...
  • 针对基于Web的实时三维可视化应用需求,结合邻近井段的结构形状、变化规律,改进了贝塞尔曲线拟合算法,提高了测斜数据处理速率和曲化度,并采用Away3D技术实现轨迹的三维展示。应用结果表明,轨迹绘制细腻流畅,...
  • 常见的数据可视化库: D3.js 目前 Web 端评价最高的 Javascript 可视化工具库(入手难) ECharts.js 百度出品的一个开源 Javascript 数据可视化库 Highcharts.js 国外的前端数据可视化库,非商用免费,被许多国外大...
  • 我刚刚发现不纯网并对使用他们的工作空间可视化数据所能取得的成就印象深刻。虽然该平台可以免费使用,但还没有开源。这会导致一些问题,因为API部分与.com网站(例如易趣)一起使用,因此我无法将易趣物品可视化为...
  • PoPo数据可视化第8期

    2018-12-23 07:24:27
    PoPo数据可视化 聚焦于Web数据可视化与可视化交互领域,发现可视化领域有意思的内容。不想错过可视化领域的精彩内容, 就快快关注我们吧 :)微信订阅号:popodv_com谷歌决定关闭云可视化服务 Fusion Tables谷歌宣布...
  • 1 数据可视化的作用及常用方法 1.1 为什么要数据可视化 1.1.1 何为数据可视化? ◆ 将数据以图形图像的形式展现出来 ◆ 人类可以对三维及以下的数据产生直观的感受 1.1.2 数据可视化的好处 ◆ 便于人们发现与...
  • 数据可视化的道路上充满了不可见的陷阱和迷宫,最近ClearStory Data的两位数据可视化开发人员分享了他们总结出来的数据可视化开发的7个不宣之秘,普通开发者了解这些方法能提升视野,少走弯路。 数据可视化, 特别...
  • D3是Github上最流行的数据可视化项目,在数据科学界有很好的表现。点击去往官方网址。ECharts提供了常规的折线图、柱状图等;用于地理数据可视化的图;用于关系数据可视化的图表;还有用于 BI 的漏斗...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 515
精华内容 206
关键字:

web数据可视化方法