Echarts(曲线图)

摘要:
Echarts字段的使用基本上写在代码注释中。这是博主的第一篇博客。如果你写得不好,请原谅我。最后,我希望这个博客能帮助你。

写在前面:

最近项目中用到了Echarts做趋势图,博主通过万能的度娘研究了一下。Echarts字段的使用基本都写在代码注释里了,这是博主的第一篇博客,如果哪里写的不好望大家见谅,最后希望本篇博客对大家有一些帮助。

1. 下载Echarts.js包

使用Echarts需要先下载Echarts.js包,大家可以从Echarts官网下载,
或者可以从博主提供的网址下载:echarts.min.js
把链接中的js代码全部复制到一个空txt文件,保存之后重命名为echarts.min.js即可。

2. Echarts.js导入程序

就是直接把下载完成的js包粘贴到项目的js文件夹下
Echarts(曲线图)第1张

3. 将Echarts.js引入使用的网面

<script src="http://t.zoukankan.com/js/echarts.min.js" charset="utf-8" type="text/javascript"></script>

4. 下面是曲线图案例

效果图:

Echarts(曲线图)第2张
Echarts(曲线图)第3张

代码:

html:

<div   id="border-div">
    <div   id="trendChart"></div>
</div>

css:

<style type="text/css">
	#border-div {
		 700px;
		height: 430px;
		border: 1px solid #000000;
		margin: 10% auto;
		overflow:visible
	}
	#trendChart {
		 700px;
		height: 400px; 
		margin-top: 3%
	}
</style>

js:

<script language="JavaScript" type="text/javascript">
	// 页面初始化
	window.onload = function(){
		// 获取异常振动加速度统计数据
		myChart();
	};
	
	//Echarts
	function myChart() {
		var alarmTime = "2020-08-14 14:56:31";
		var option = {
			title: {
				text: '车体振动及转向架振动',
				// left: 'left',	// 可选为:'left' | 'center' | 'right'
				padding: [0,0,0,20], // 上, 右, 下, 左
				/* textStyle: {
					fontWeight: 'normal',              
					color: 'MidnightBlue'  // 标题颜色
				} */
			},
			/* 提示框组件 */
			tooltip: { 
				trigger: 'axis', // 触发类型,在饼形图中为item
				axisPointer : {            // 坐标轴指示器,坐标轴触发有效
					type : 'line'        // 默认为直线,可选为:'line' | 'shadow'
				},
				formatter: function (params, ticket, callback) { // 用formatter回调函数显示多项数据内容
					var htmlStr = '';
					for(var i=0;i<params.length;i++){
						var param = params[i];
						var xName = param.name; // x轴的名称
						var seriesName = param.seriesName; // 图例名称
						var value = param.value; // y轴值
						var color = param.color; // 图例颜色
											
						if(i===0){
							htmlStr += xName + '<br/>';//x轴的名称
						}
						htmlStr +='<div>';
						//为了保证和原来的效果一样,这里自己实现了一个点的效果
						htmlStr += '<span style="margin-right:5px;display:inline-block;10px;height:10px;border-radius:5px;background-color:'+color+';"></span>';
											
						// 文本颜色设置--(需要设置,请解注释下面一行)
						// htmlStr += '<span style="color:'+color+'">';
											
						// 圆点后面显示的文本
						htmlStr += seriesName + ':' + value  + '&nbsp&nbsp&nbsp' + alarmTime;
											
						// 文本颜色设置--(需要设置,请解注释下面一行)
						// htmlStr += '</span>';
											
						htmlStr += '</div>';
					}
					return htmlStr;
				}
				
			},
			color: ['HotPink','DeepSkyBlue','LawnGreen','Gold'], // 图例及线条的颜色
			/* 设置图例样式 */
			legend: {
				left: 'right', // 位置
				padding: [3,60,0,0],
				icon: "circle", // 形状 类型包括 circle,rect,line,roundRect,triangle,diamond,pin,arrow,none
				itemWidth: 10,  // 设置宽度
				itemHeight: 10, // 设置高度
				itemGap: 12, // 设置间距
				data: ['车体振动I位   ', '车体振动II位', '转向架振动I位', '转向架振动II位'],
				textStyle:{	// 设置图例字体
					color: '#000000',
					// fontSize: "15"
				}
			},
			grid: {
				left: '3%',
				right: '4%',
				bottom: '3%',
				containLabel: true
			},
			/*下载功能*/
			toolbox: {
				feature: {
					saveAsImage: {}
				},
				padding: [0,15,0,0]
			},
			xAxis: {
				type: 'category',
				boundaryGap: false,
				/* axisLine: { // 改变x轴颜色 默认不写为黑色
					lineStyle: {
						color: '#00FFFF',
						 1 // 这里是为了突出显示加上的
					}
				}, */
				data: [ '0s','1s', '2s', '3s', '4s', '5s', '6s', '7s', '8s', '9s']
			},
			yAxis: {
				/* axisLine: { // 改变y轴颜色 默认不写为黑色
					lineStyle: {
						color: '#00FFFF',
						 1 // 这里是为了突出显示加上的
					}
				}, */
				type: 'value'
			},
			series: [
				{
					name: '车体振动I位   ',
					type: 'line',
					// stack: '加速度',
					smooth: true,
					/*lineStyle: {//折线颜色
					  normal: {
						  color: '#00FFFF',
						   2
					  }
					},*/
					data: ["-1.02", "-0.84", "-2.66", "-1.23", "0.94", "-0.27", "-0.65", "-3.3", "-0.56", "-1.14"]
					// data: data.ctzd1
				},
				{
					name: '车体振动II位',
					type: 'line',
					// stack: '加速度',
					smooth: true,
					/*lineStyle: { // 折线颜色
					  normal: {
						  color: '#00FFFF',
						   2
					  }
					},*/
					data: ["-2.57", "3.43", "-1.16", "-0.55", "-0.52", "0.6", "0.13", "0.2", "1.38", "0.17"]
					// data: data.ctzd2
				},
				{
					name: '转向架振动I位',
					type: 'line',
					// stack: '加速度',
					smooth: true,
					/*lineStyle: { // 折线颜色
					  normal: {
						  color: '#00FFFF',
						   2
					  }
					},*/
					data: ["-0.39", "-1.08", "-0.15", "-0.31", "-1.98", "-0.42", "-0.14", "-1.55", "-0.27", "0.29"]
					// data: data.zxjzd1
				},
				{
					name: '转向架振动II位',
					type: 'line',
					// stack: '加速度',
					smooth: true,
					/*lineStyle: { // 折线颜色
					  normal: {
						  color: '#00FFFF',
						   2
					  }
					},*/
					data: ["-0.2", "-0.35", "-0.19", "-0.95", "-0.46", "-0.32", "-0.04", "-0.38", "-0.91", "0"]
					// data: data.zxjzd2
				}
			]
		};
		
		var chart = echarts.init(document.getElementById('trendChart'));
		// 使用刚指定的配置项和数据显示图表。
		chart.setOption(option);
	}
</script>

5. 若要传递真实数据可以使用ajax来实现前后端数据交互

代码如下:

引入jquery

Echarts(曲线图)第4张

发送ajax请求

Echarts(曲线图)第5张

java后端:

controller

Echarts(曲线图)第6张

service

Echarts(曲线图)第7张

免责声明:文章转载自《Echarts(曲线图)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PHP高精度数学运算函数MSDE 2000 安装参数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JS DOM元素

// 为element增加一个样式名为newClassName的新样式 functionaddClass(element, newClassName) { var value =element.className; element.className = value + " " +newClassName; } var bo...

JS组件系列——封装自己的JS组件

前言:之前分享了那么多bootstrap组件的使用经验,这篇博主打算研究下JS组件的扩展和封装,我们来感受下JQuery为我们提供$.Extend的神奇,看看我们怎么自定义自己的组件,比如我们想扩展一个$("#id").MyJsControl({})做我们自己的组件,我们该如何去做呢,别急,我们慢慢来看看过程。 一、扩展已经存在的组件 1、需求背景 很多时...

js延迟执行函数

转自:http://zou-jiao.iteye.com/blog/1606872 在js中,延迟执行函数有两种:setTimeout和setInterval,用法如下: setTimeout("test()","2000"); //2000毫秒后执行test()函数,只执行一次。 setInterval("test()","2000"); //每隔20...

js 调用后台代码(比较实用,好记)

   JavaScript调用ASP.NET后台代码:   方法一:         1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;           2、在前台写一个js函数,内容为document.getElementById("btn1").click();           3、在前台或后台调用js函数,激发c...

js~ajax获取后端HTTP状态的几种情况

jquery发起ajax请求到后端接口,后端向前端返回数据,当然也存在后端接口直接重定向(302)到其它接口,然后再向前端返回数据,当然这种情况需要考虑跨域问题。 前端代码 //测试一下http status $.ajax({ type: "get", url: "/redirect",...

Web Worker

写在前面 众所周知,JavaScript是单线程的,JS和UI更新共享同一个进程的部分原因是它们之间互访频繁,但由于共享同一个进程也就会造成js代码在运行的时候用户点击界面元素而没有任何响应这样的情况,这么糟糕的用户体验HTML5怎么会不修订了,这样Web Worker诞生了。 简介 Web Worker进程加载的js运行的时候不仅不会影响浏览器UI,而且...