实现Java Web开发的关于echarts可视化动态数据展示

JavaWeb可视化:Web+Echarts案例:豆瓣日剧豆列电影信息可视化(柱状图、饼状图、折线图) 柱状图案例 柱状图用来比较多项目的数值情况,从构成上来说,柱状图以坐标轴上的长方形元素作为变量,以此来达到展现并比较数据情况的目的。柱状图形式多种多样,以适应不同场合数据展示,常用的有如下形式: 可以参考http://echarts.baidu.com/echarts2/doc/example.html 和 http://echarts.baidu.com/examples/#chart-... 阅读详情

实现Java Web开发的关于可视化动态数据展示

echarts是一个实现动态数据展示最方便的图形化展示工具。它能够完成数据实时传递更新并且能够完成页面直观的展示。最开始时,echarts是由百度设计出来的可视化js库,后面捐给了阿帕奇开源。不过我们仍然可以使用它。

Java Web实现步骤:

1、客户端实现ajax请求

2、服务器端在Servlet接受请求

3、生成一个json数据(柱状图、折线图表示)

4、客户端接收数据后显示

1、发送ajax请求

首先我们要了解echarts的基本格式内容。

引入js包

<script type="text/javascript" src="echarts/echarts.js"></script>

其次为echarts提供一个具备一定大小的Dom模块

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

在script标签中添加如下内容:

var myChart = echarts.init(document.getElementById('main'));

		//3.初始化,默认显示标题,图例和xy空坐标轴
		myChart.setOption({

			title : {
				text : 'ajax动态获取数据'
			},
			tooltip : {},
			legend : {
				data : [ '销售量' ]
			},
			xAxis : {
				data : []
			},
			yAxis : {},
			series : [ {
				name : '销售量',
				type : 'bar',
				data : []
			} ]
		});
		var xaxis = [];
		var yaxis = [];

后面可以适当添加动画和ajax请求。

我这儿的代码如下:

<script type="text/javascript">
    var myChart = echarts.init(document.getElementById('main'));
    var option = {
        legend: {},
        toolbox: {
            show: true,
            feature: {
                dataZoom: {
                    yAxisIndex: 'none'
                },
                dataView: { readOnly: false },
                magicType: { type: ['line', 'bar'] },
                restore: {},
                saveAsImage: {}
            }
        },
        color: [
            '#c23531',
            '#2f4554',
            '#61a0a8',
            '#d48265',
            '#91c7ae',
            '#749f83',
            '#ca8622',
            '#bda29a',
            '#6e7074',
            '#546570',
            '#c4ccd3'
        ],
        title: {
            text: 'ECharts报表展示'
        },
        tooltip: {trigger: 'axis'},
        xAxis: {
            data: ['衬衫', '羊毛衫', '雪纺衫', '裤子']
        },
        yAxis: {},
        series: [
            {
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10]
            }
        ]
    };
    myChart.setOption(option);
    myChart.showLoading(); //数据加载完之前先显示一段简单的loading动画

    var names = []; //一个product名称数组,用来展示于x轴
    var nums = []; //一个销售量数组,用来展示于y轴

    //第3步后续步骤
    ...
    ...
</script>

2、Servlet请求接受

这个地方如果是使用servlet,那么就创建一个servlet类,用ssm框架就使用controller添加一个展示的功能即可。

这个地方粗略讲述即可。比如我的代码如下:

//1、构建一个数组存储user&product类
List<Product> list = new ArrayList<Product>();

//2、默认可以添加,可以另行添加dao和service调用数据库返回值
list.add(new Product("短袖",32,178));
list.add(new Product("女衬衫",80,190));
list.add(new Product("紧身裤",109,239));
list.add(new Product("黑丝",216,299));

//3.获取前端的action
String action = req.getParameter("action");

//4.根据action来判断采取什么行动
if(action.equals("TurnJSON")){
    //3、使用GSON来转换成json格式并返回
    Gson gson = new Gson();
    String json = gson.toJson(list);

    //4、输出json格式的数据
    resp.setContentType("text/html;charset=utf-8");
    resp.getWriter().write(json);
}

3、生成json格式数据返回客户端

生成json后我们需要将返回的json格式将x轴内容和y轴内容替换掉,比如如下:

//6.ajax发起数据请求
    $.ajax({
        type : "post",
        async : true, //设置异步请求
        url : "echartsServlet",
        data : "action=TurnJSON",
        dataType : "json", //返回数据形式为json

        //请求成功后接收数据names+nums两组数据
        success : function(result) {
            //console.log(result)
            //result为服务器返回的json对象
            if (result) {
                //取出数据存入数组
                //console.log(result[0].name+" "+result[0].num)
                for (var i = 0; i < result.length; i++) {
                    names.push(result[i].name);
                }
                for (var i = 0; i < result.length; i++) {
                    nums.push(result[i].num);
                }

                //console.log(names);
                //console.log(nums);

                myChart.hideLoading(); //隐藏加载动画

                //覆盖操作-根据数据加载数据图表
                myChart.setOption({
                    xAxis : {
                        data : names
                    },
                    series : [ {
                        // 根据名字对应到相应的数据
                        data : nums
                    }]
                });

            }

        },
        error : function(errorMsg) {
            //请求失败时执行该函数
            alert("图表请求数据失败!");
            myChart.hideLoading();
        }
    })

最终展示:

在这里插入图片描述

更多的学习可以参考这一篇api:echarts文档

这就是基本的图数据的展示业务,希望能够让大家有所收获,谢谢大家!

Jsp+Servlet+Echarts实现动态数据可视化 Echarts(3.x版)官网实例的数据都是静态的,实际使用中往往会要求从服务器端取数据进行动态显示,官网教程里给出的异步数据加载很粗略,下面就以官网最简单的实例为例子,详细演示如下过程:1.客户端通过ajax发送请求;2.服务器端Servlet接收请求;3.生成json数据并返回给客户端;4.客户端接收数据后显示。 1.客户端通过ajax发送请求 先绘制一个最简单的Echarts图表: (这里就... 阅读详情

相关推荐

SSM框架使用Echarts绘制动态数据可视化图表

SSM框架使用Echarts绘制动态数据可视化图表 1.前言 ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。 而在实际开发中使用的往往会要求...

空空说技术的博客 2万+

【毕业设计】基于大数据的电影数据爬取分析可视化系统

🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是🚩基于大数据的电影数据爬取分析可视化系统🥇学长这里给一个题目综合评分(每项满分5分)难度系数4分工作量4分创新点3分🧿httpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...

HUXINY的博客 3万+

使用ECharts创建动态数据可视化图表

强大的可定制性:支持多种类型的图表,如折线图、柱状图、饼图等,并且可以自定义图表样式和交互行为。丰富的数据展示能力:支持动态数据更新和实时刷新,适用于需要频繁更新数据的场景。跨平台兼容性:可以在各种现代浏览器和移动设备上运行,并支持响应式设计。通过以上步骤,您已经学会了如何使用ECharts创建动态数据可视化图表。在实际应用中,您可以根据具体需求,进一步定制图表样式和交互效果,以满足不同的业务场景需求。ECharts强大的可定制性和丰富的数据展示能力,使其成为Web应用开发中不可或缺的重要工具。

聚娃科技开发者博客 1610

java实现在web页面实时展现内容

实时展现内容,就像tail -f命令的功能一样,可能不同的人有不同的表述方法,但是其实是殊途同归。 我想在网页上实时展示服务器上某个日志文件(内容随时在变化)的变化,怎么做呢?是有这样的场景的,再比如,我现在需要点击一个按钮执行服务器上的一个shell脚本,脚本会把执行过程中的信息输出到一个文件sh.log中,我现在需要实时展示sh.log的内容,跟上面的那个日志文件也是一个道理。 实现思路:...

xiaozhuangyumaotao的博客 2124

【Flask与Echarts结合的Web开发与数据可视化项目】

Flask与Echarts结合能够创建强大的数据可视化Web应用,MySQL提供了数据存储的功能。通过Flask的灵活性和Echarts的强大图表功能,可以实现交互性强且性能高的Web应用。需要注意数据库连接、数据格式、图表配置等技术细节,确保项目顺利进行。

qq_45832651的博客 1335

jsp+Echarts实现图表可视化,连接数据库,从数据库拿数据

实现可视化的图表,jsp+mysql+eclipse,从数据库拿数据改变表格的数据算是echarts的初始入门案例的升级版。 想了解Echarts的各位大大-----》传送门 添加链接描述 效果图: 从Echarts中获得可视化图表,关于如何获得可视化图表,请详见 https://blog.youkuaiyun.com/aaaaaaddddsssss/article/details/106585094添加链接描述 通过jsp获得动态的数据,从mysql数据库中取数据 首先打开eclispe 创建一个Dynamic

aaaaaaddddsssss的博客 8353

Java Web可视化实践项目

Java Web可视化实践指导书

二哈喇子! 1365

如何使用ECharts和Java接口实现可视化的数据挖掘

数据挖掘需要将大量的数据进行分析和展示,而可视化是一种直观、形象的展示方式。ECharts是百度开源的一个基于JavaScript的可视化库,它提供了丰富的图表类型和交互功能,可以用于在Web页面中展示各种图表、地图等可视化效果。Java是一种常用的编程语言,拥有强大的处理数据的能力和丰富的开发工具。通过上述示例代码,我们实现了Java与ECharts的数据传递和可视化展示。可以根据具体的需求和数据特点,调整代码中的数据处理和ECharts配置,实现更丰富、复杂的数据挖掘可视化。【ECharts简介】

wx_19970108018的博客 862

基于java web和echarts的数据可视化项目

EchartDemo 项目介绍 基于java web和echarts的数据可视化项目 主要分析浙江省各市区的gdp和固定资产投资、以及房产数据,数据源浙江省经济社会发展统计,数据经过整理后插入数据库中。 主页面: 固定资产页面: 将excel中的数据导入mysql数据库 所需jar包百度云 数据库的连接配置在dbcpconfig.properties文件中,注意更换自己的用户名、密码等信息...

你说_的博客 1万+

springboot+echarts+mybatisplus 实现动态数据图(饼状,折线)

springboot+echarts+mybatisplus 实现动态数据图(饼状,折线)

m0_73843176的博客 2504

使用ECharts实现数据动态可视化

ECharts是一个使用JavaScript实现的开源可视化库,它为开发者提供了丰富的图表类型和灵活的配置项,使得数据的可视化展示变得轻而易举。ECharts支持各种数据源,并且可以轻松集成到多种应用中,无论是在Web前端开发还是在数据报告中,ECharts都显得游刃有余。

weixin_42527589的博客 1287

Servlet+Ajax+Echarts实现饼图动态数据可视化

在这追求美的时代,页面数据可视化可谓是一个很好的例子,它不仅可以带来用户更直观、更方便的认识,还能把冷冰冰的数据以一种美感活灵活现的表现出来。今天我想和大家聊聊如果用Ajax、百度的Echarts来实现一个简单的饼图动态数据可视化。

weixin_42572590的博客 2221

基于javaweb + mapreduce的小型电影推荐系统

基于mapreduce的小型电影推荐系统,使用javaweb的方式实现,包含数据集。

java——插件echarts数据可视化图表库

插件echarts数据可视化图表库一、使用idea创建javaWeb工程二、下载echarts导入js文件三、使用echarts。————————创作不易,如觉不错,随手三连点赞,收藏,关注,谢谢~~ 一、使用idea创建javaWeb工程 创建工程,因为我这里已经配置好JDK跟Tomcat服务器了,就直接选择了。 下一步 下一步 项目创建完成了只后,我们创建两个文件夹,分别用来存放编译后的文件,跟jar包 接着,我们对着两个包进行配置,首先配置classes,选择classes的位置 下一步,接

weixin_42858422的博客 1万+

JavaWeb实现图形报表折线图的方法

本文实例讲述了JavaWeb实现图形报表折线图的方法。分享给大家供大家参考,具体如下: 步骤说明: 1. 导入log4j.jar,jfreechart-0.9.18.jar,jdom.jar,jcommon-0.9.3.jar四个jar包 2. 在某个包中写入Tuxin.Java类 package com.mengya.util; import java.awt.Color; import java.awt.Font; import java.io.PrintWriter; import javax.servlet.http.HttpSession; import org.jfree.cha

手把手教你用单结晶体管搭建简易振荡电路(含电路图和波形分析)

本文详细介绍了如何使用单结晶体管(UJT)搭建简易振荡电路,包括电路设计、波形分析和实战技巧。通过具体的电路图和参数计算,帮助电子爱好者和工程师快速掌握UJT振荡器的设计与调试方法,适用于脉冲信号生成和时钟源制作等应用场景。

weixin_29207533的博客 516

Java+ECharts整合全攻略(手把手教你实现动态数据驱动的仪表盘)

掌握Java数据可视化开发核心技巧,手把手教你整合Java与ECharts实现动态仪表盘。适用于企业报表、实时监控等场景,通过后端数据驱动前端图表,兼具灵活性与高性能,值得收藏。

PixelShoal的博客 697

LLaVA-1.5:多模态视觉问答新突破

LLaVA-1.5在多模态视觉问答(VQA)任务中取得了显著进展,主要得益于视觉-语言连接器的优化和特定任务数据集的增加。通过将连接器升级为两层MLP,模型在处理视觉与语言关系时表现更佳。同时,引入如OKVQA、OCRVQA等数据集,增强了模型在复杂视觉推理任务中的能力。在11个基准测试中,LLaVA-1.5超越了现有方法,展示了其强大的多模态能力。此外,模型通过提升输入图像分辨率、扩展语言模型和改进多语言能力,进一步提升了性能。尽管在短格式回答任务中初期表现不佳,但通过调整提示格式和微调,其性能显著提升

weixin_57060548的博客 945

JeeSite图表展示:ECharts数据可视化

在企业级应用开发中,数据可视化一直是个技术难点。你是否遇到过这些问题? - ???? **数据展示单一**:传统表格无法直观展示数据趋势和分布 - ???? **图表样式陈旧**:自定义图表样式复杂,维护成本高 - ???? **响应式适配难**:不同设备上的图表显示效果不一致 - ???? **实时更新复杂**:动态数据更新需要大量手动操作 - ???? **交互体验差**:用户无法与图表进行有效互动 JeeS...

gitblog_00851的博客 436

ESP32驱动TFT屏幕实战:LVGL与TFT_eSPI完美结合

本文详细介绍了如何在ESP32上结合TFT_eSPI驱动库与LVGL图形库,实现高效、流畅的嵌入式GUI开发。内容涵盖硬件连接、软件环境搭建、库配置、LVGL移植、界面创建及性能优化等全流程实战指南,帮助开发者快速构建低成本、高性能的交互式显示应用。

weixin_29206669的博客 200

解决 PyInstaller 与 `pathlib` 包不兼容的问题

为了避免 PyInstaller 和pathlib包的兼容性问题,最简单的解决办法就是卸载不必要的pathlib包。只需在命令行中运行卸载命令,然后重新打包即可。

Winfredzhang的博客 3225

RuoYi图表展示:ECharts数据可视化

RuoYi图表展示:ECharts数据可视化 【免费下载链接】RuoYi ???? 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用 ...

gitblog_01149的博客 966

python画弗里德曼(Friedman) 检验和秩和检验(Nemenyi)检验图

python画弗里德曼(Friedman) 检验和秩和检验(Nemenyi)检验图 画好后效果图 实现代码如下 import matplotlib.pyplot as plt #算法平均排名 _alg_=[1.405,2.643,2.786,2.167] y=[1,2,3,4]#alg1,alg2,alg3,alg4 通过Nemenyi测试计算得到的临界值CD CD=1.024 h_CD=CD/2 plt.figure(figsize=(10,6)) plt.scatter(_alg_,y,s=10

大模型天花板 4464
上一篇: CentOS7.0安装docker并拉取配置nginx全过程
下一篇: POI报表生成
Xiao艾扶
博客等级 码龄7年 187粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xiao艾扶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值