Java Data visualization-dynamic(Java jsp 实现数据可视化-实时动态)

Java web jsp 大数据可视化-实时动态(本地数据)

开发工具:eclipse2019

服务器环境:tomcat9

完整项目目录结构和效果图:

up-a68eefc7f95367a88b73d7f26fa804f464d.png

在Servlet里面自定义假数据

有三个java文件:在Java Resources 下 src 下的包里面

1:

package com.lvyvan.huyaUI;

public class PieData1 {
	
	
	//第二张图一行的数据
	
	private int value;
	private String name;
	
	public int getValue() {
		return value;
	}
	public void setValue(int value) {
		this.value = value;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

}

2

package com.lvyvan.huyaUI;

/**
 * 
 * @author 杨木发
 * 往界面传递所数据
 *
 */

public class Data1 {
	
	/**
	 * 往界面传递全部需要的数据
	 * @author Administrator
	 *
	 */
		//第一张图X的坐标数组
		private String[] X1;
		
		//第一张图Y的坐标数组
		private int[] Y1;

		//第二张图标题坐标数组
		private String[] X2;
		
		//第二张图数据的集合
		private PieData1[] Y2;
		
		

		public String[] getX1() {
			return X1;
		}

		public void setX1(String[] x1) {
			X1 = x1;
		}

		public int[] getY1() {
			return Y1;
		}

		public void setY1(int[] y1) {
			Y1 = y1;
		}

		public String[] getX2() {
			return X2;
		}

		public void setX2(String[] x2) {
			X2 = x2;
		}

		public PieData1[] getY2() {
			return Y2;
		}

		public void setY2(PieData1[] y2) {
			Y2 = y2;
		}

	}

3

package com.lvyvan.huyaUI;

import java.io.IOException;
import java.util.Random;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;

@WebServlet("/huyaData1")
public class huyaData1 extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//假设数据
		String[] x1= {"英雄联盟","穿越火线","王者荣耀","枪战王者"};
		int[] y1= {232,523,256,935};
		String[] x2= {"主播1","主播2","主播3","主播4"};
		PieData1[] y2=new PieData1[5];
		
		
		for(int i=1;i<=5;i++){
			PieData1 pd = new PieData1();
			pd.setName("主播"+i);
			pd.setValue(new Random().nextInt(100)*10000);
			y2[i-1]=pd;
		}
			
		
		Data1 d = new Data1();
		d.setX1(x1);
		d.setY1(y1);
		d.setX2(x2);
		d.setY2(y2);
		
		//将数据转换为JSON格式
		//String jsonStr = JSON.toJSONString(games);
		//System.out.print(jsonStr);
		//设置字符集防止乱码
		response.setCharacterEncoding("Unicode");
		//返回将数组转换为JSON的数组
		response.getWriter().println(JSON.toJSON(d));
		
		
	}
		protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
			doGet(request, response);	
	}
	

}

运行结果:

up-856545426d73b7e5bf195e9b895289e7a79.png

Jsp 代码: WebContent WEB-INF

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <!-- FrvskXh9GiGy9Nn1DhrgBmSBDhCoUQZl -->
<!DOCTYPE html>
<html style="height: 100%">
   <head>
       <meta charset="utf-8">
   </head>
   <body style="height: 100%; margin: 0">
   
   		<div style="width:50%;height:100%;margin:0 auto; border:2px solid red;">
	   	   <div id="d1" style="height: 50%;"></div>
	       <div id="d2" style="height: 50%;"></div>
   		</div>
       
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/dataTool.min.js"></script>
       <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/bmap.min.js"></script>
       
       <!-- 引入JQuery 库为了ajax 调用Servlet来显示数据 -->
       <script type="text/javascript" src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>

       <script type="text/javascript">   
       
		$(function(){
			draw();//第一次手动调用代码
			setInterval("draw()",1000);//js自带的自动刷新函数
		 });
		  	
		function draw(){//异步请求去Servlet里面获取数据
		  	$.ajax({
		  		url:"huyaData1",//调用Servlet
		  		dataType:'json',
		  		success:function(result){	//data来接收Servlet的数据
		  		//alert(result);	//为了显示,验证数据		
		  		
   				
		  		//第一张图
		  		
				//根据找到的div并将图画在这个div上
				var dom = document.getElementById("d1");
				//初始化图形
				var myChart = echarts.init(dom);
				var app = {};
				//变量里面设置了图形所需要的全部参数和数据
				option = null;
				option = {
				    xAxis: {
				        
				     	data: result.x1,
				     	type: 'category'
				    },
				    yAxis: {
				        type: 'value'
				    },
				    series: [{
				        data: result.y1,
				        type: 'bar'
				    }]
				};
				;
				if (option && typeof option === "object") {
				    myChart.setOption(option, true);
				} 
   					
   					
					//第二张图	
   					
			       var dom = document.getElementById("d2");
			       var myChart = echarts.init(dom);
			       var app = {};
			       option = null;
			       option = {
			           title : {
			               text: '某直播站点游戏人气',
			               subtext: '如有雷同纯属虚构的哟',
			               x:'center'
			           },
			           tooltip : {
			               trigger: 'item',
			               formatter: "{a} <br/>{b} : {c} ({d}%)"
			           },
			           legend: {
			               orient: 'vertical',
			               left: 'left',
			               data: result.x2
			           },
			           series : [
			               {
			                   name: '游戏人气',
			                   type: 'pie',
			                   radius : '55%',
			                   center: ['50%', '60%'],
			                   data:result.y2,
			                   itemStyle: {
			                       emphasis: {
			                           shadowBlur: 10,
			                           shadowOffsetX: 0,
			                           shadowColor: 'rgba(0, 0, 0, 0.5)'
			                       }
			                   }
			               }
			           ]
			       };
			       ;
			       if (option && typeof option === "object") {
			           myChart.setOption(option, true);
			       }

       					
 		
       					
       					
       		
       				}
       			});
       			
       		}

       		
       </script>
       
       
       
       
       <!-- 第一张图 -->
       	   <script type="text/javascript">

	       </script>
	   	
       
       <!-- 第二张图 -->
   		<script type="text/javascript">	

运行结果-浏览器访问: http://localhost:8080/huyaUI/huyaUI1.jsp

up-48dcc2e2d3fa209ad7ece04df3dc87e976a.png

/* ------------------- 反爬声明o(*▽*)咻咻咻 --------------------

作者: 杨木发
版权声明:
本文为博主倾情原创文章,整篇转载请附上源文链接!

如果觉得本文对你有所收获,你的请评论点赞 与

合理优质的转发也将是鼓励支持我继续创作的动力,

更多精彩可百度搜索 杨木发 或:

个人网站: www.yangmufa.com

开源中国: https://my.oschina.net/yangmufa

Gitee: https://gitee.com/yangmufa

GitHub: https://github.com/yangmufa

坚持创作 善于总结 开源共享 高质进步。
------------------- 反爬声明o(*▽*)咻咻咻 -------------------- */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: vue-data-visualization是一种基于Vue框架的数据可视化工具。数据可视化是将数据通过图表、图形等可视化方式展示出来,以便于用户理解和分析数据。vue-data-visualization提供了一系列简便易用的组件和工具,使开发者可以通过简单的配置和代码实现各种类型的数据可视化。 vue-data-visualization具有以下特点和优势: 1. 强大的可定制性:vue-data-visualization提供了丰富的组件和选项,开发者可以根据自己的需求进行配置和定制。无论是调整图表的样式、颜色,还是修改数据的展示方式,都可以通过简单的代码实现。 2. 灵活的数据处理能力:vue-data-visualization支持多种数据格式的输入,可以直接处理常见的JSON、CSV、Excel等格式数据,并将其转化为图表可用的格式。同时,它还提供了数据过滤、排序、分类等功能,方便开发者对数据进行预处理。 3. 优雅的交互和动画效果:vue-data-visualization通过使用Vue的响应式机制,实现了数据和图表的双向绑定。开发者可以根据需求对图表的交互和动画效果进行调整,从而提升用户体验。 4. 良好的兼容性和扩展性:由于基于Vue框架,vue-data-visualization可以与其他Vue组件和插件无缝集成。同时,它也支持多种现代浏览器和移动设备,确保在不同平台上都能正常使用。 总之,vue-data-visualization是一个功能强大、灵活可定制的数据可视化工具,它能够帮助开发者快速构建出美观、交互丰富的图表和数据展示界面,提升用户对数据的理解和分析能力。 ### 回答2: Vue数据可视化是一种在Vue框架下的数据可视化技术。Vue框架是一种用于构建用户界面的渐进式JavaScript框架,它提供了一套完善的工具和组件,方便开发者构建高效、可扩展和易于维护的应用程序。数据可视化是指将数据以图表、地图、仪表盘等形式展示出来,以便用户更直观地理解和分析数据。 Vue-data-visualization是在Vue框架和其生态系统中广泛使用的数据可视化库。这些库提供了各种图表和组件,用于展示和呈现数据。例如,Echarts和Chart.js是流行的呈现数据的JavaScript图表库,它们可以与Vue框架无缝集成。 使用Vue-data-visualization可以轻松地在Vue应用中创建各种图表,比如折线图、饼图、柱状图等。它提供了简单易用的API和丰富的配置选项,使开发者能够根据自己的需求自定义图表的样式和行为。同时,这些数据可视化库还具有良好的性能和支持响应式布局,使得图表可以根据屏幕大小和设备类型进行适配,提供良好的用户体验。 总而言之,Vue-data-visualization为开发者提供了快速、灵活和高效的方式来可视化数据。它的使用可以使用户更好地理解数据,发现数据中的模式和关联,进而做出有意义的分析和决策。无论是在企业管理、数据分析、市场营销还是其他领域,Vue-data-visualization都是一个非常有用的工具。 ### 回答3: Vue Data Visualization 是一个基于 Vue.js数据可视化库。它提供了各种各样的图表和图形,可以帮助我们将复杂的数据转化为可视化的图表,从而更好地理解和分析数据。 Vue Data Visualization 提供了丰富多样的图表类型,如折线图、柱状图、饼图、雷达图等等。它也支持交互和动画效果,使得我们可以通过鼠标悬停、点击等操作与图表进行互动,并能够呈现出生动有趣的动画效果。 除了基本的图表功能,Vue Data Visualization 还提供了一些高级的特性。例如,它支持数据的实时更新和动态加载。这意味着,当数据变化时,图表可以自动更新,使得我们可以实时地反映数据的变化。同时,它也支持从后端加载数据,可以通过异步请求来获取数据并进行可视化。 Vue Data Visualization 还提供了一些自定义的配置选项,使得我们可以根据自己的需求来定制图表的外观和行为。通过调整颜色、字体、尺寸等参数,我们可以使得图表更符合我们的设计要求,同时也能够增加图表的易用性和可读性。 综上所述,Vue Data Visualization 是一个功能强大且易于使用的数据可视化库。它可以帮助我们将复杂的数据转化为直观易懂的图表,并支持交互和动画效果,使得我们能够更好地理解和分析数据。无论是在数据分析、报表展示还是数据监控等领域,Vue Data Visualization 都是一个非常有用的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

编程小马达

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

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

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

打赏作者

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

抵扣说明:

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

余额充值