在vue中使用echarts(折线图的demo,markline用法)


Posted in Javascript onJuly 20, 2020

公司最近在用vue开发项目,项目接近尾声了,趁休息时间写点demo——

vue引入echarts(折线图的demo)

主要是解决引入echarts,markline的使用(基准线)

这是demo的效果图:

vue脚手架不多赘述

1.安装依赖

cnpm install echarts -S

2.在main.js中引入echarts

import echarts from 'echarts'

3.在main.js中安装

Vue.prototype.echarts = echarts;

一般来说能正常挂载上组件,就可以在页面中正常使用了

废话不多说上代码(因为自己也是小白阶段所以写的注释多了点,以便以后使用)

1.HTML部分

<template>
 <div class="content">
 <p class="prompt_p">   近七天温度折线图</p>
 <div class="seven_echarts" id="seven"> 
 </div>
 </div> 
</template>

2.js部分

<script type="text/javascript">
	export default{
		data(){
			return{	
  seven_chart:null,
				month_chart:null,
  seven_option : {
				 title : {
				 	 // text: '未来一周气温变化',//感觉头部有点乱,没使用自带的标题
				 // subtext: '纯属虚构'
   x: 'left',
   align: 'center'
   },
				 tooltip: {
				 trigger: 'axis'
				 },
				 legend: {
				 data:['最高气温','最低气温',]
				 },
				 grid: {
				 left: '3%',
				 right: '4%',
				 bottom: '3%',
				 containLabel: true
				 },
				 toolbox: {
				 feature: {
				  magicType: {type: ['line', 'bar']},//柱状图和西和折线图切换
				  restore: {},//刷新
				  saveAsImage: {},//将图表以折线图的形式展现
				 }
				 },
				 xAxis: {
				 type: 'category',
				 boundaryGap: false,
				 data: ["11-26","11-27","11-28","11-29","11-30","12-01","12-02"]
				 },
				 yAxis: {
				 	name:"℃",
				 nameLocation: 'end',
				 	type: 'value',
				 axisLabel: {
				  formatter: '{value} '
				 }
				 },
				 series: [
				 		{
				  name:'最低气温',
				  type:'line',
				  data:[0,-1,-3,-4,0,-2,-4],
				  lineStyle:{//设置折线色颜色
   				color:'#3f89ec'
 					},
 					itemStyle:{//设置折线折点的颜色
						  normal : {
						  color:'#3f89ec'
						 }
 					}
				 },
				 	{
				  name:'最高气温',
				  type:'line',
				  data:[9,10,6,7,12,11,8],
				  lineStyle:{//设置折线色颜色
  			 		color:'black'
 					},
 					itemStyle:{//设置折线折点的颜色
						  normal : {
						  color:'black'
						 }
 					}			  
				 },
				 {
				  name:'平行于y轴的趋势线',
				  type:'line',
				  markLine: {
				  name:'aa',
				  data: [
					  {
	 							name: '0℃标准线',
	 								yAxis: 0,
	 								 lineStyle:{//设置折线色颜色
	   							color:'red'
	 								},
	 							},
 							],
 							symbol: ['arrow', 'none'],//将箭头向左 默认值是向右的
 							label:{
 								show:true,
  					position:'middle',//markline描述位于中间 right,left,middle
  					formatter: '{b}: {c}',//显示name中的描述
								}

				  }
				 }
				 
				 ],
				},
			}
		},
		mounted:function (){
			this.get_echarts();
		},
		methods:{	
			get_echarts:function(){
				this.seven_chart = this.echarts.init(document.getElementById("seven"));
				// 把配置和数据放这里
				this.seven_chart.setOption(this.seven_option)  
			}
 },
 beforeDestroy() {
  if (!this.seven_chart) { return }
  this.seven_chart.dispose();
  this.seven_chart = null;
 },
	}
</script>

3.css部分

<style type="text/css">
.content{
 width: 100%;
}
.content p{
 margin-top: 1rem;
 font-size: 0.4rem;
 color: #666666;
}
.seven_echarts{
 height: 11rem;
 width: 94%;
}
</style>

好了结束,本人目前还是前端的小白,如有错误欢迎指正,以后会不定期更新哟!

补充知识:Echarts中有多条曲线,数据精度为小数时,画线部分与小数刻度显示不准确

最近遇到了一个问题就是 多条曲线,数据精度为小数时,画线部分与小数刻度显示不怎么准确,但是单条曲线的时候就没问题

// stack: ‘总量', //此处注释掉 这个问题 就解决了 所有的都要注释掉

series: [
 {
 name: 'line1',
 type: 'line',
 // stack: '总量',  //此处注释掉
 data: this.lineData.series[0].data  //data中包含带有小数的数据
 },
 {
 name: 'line2',
 type: 'line',
 // stack: '总量',  //此处注释掉
 data: this.lineData.series[1].data  //data中包含带有小数的数据
 }
]

如果还有什么问题,大家留言一起讨论。

以上这篇在vue中使用echarts(折线图的demo,markline用法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
学习面向对象之面向对象的基本概念:对象和其他基本要素
Nov 30 Javascript
JavaScript 图像动画的小demo
May 23 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
Nov 05 Javascript
Javascript 按位取反运算符 (~)
Feb 04 Javascript
从零学JS之你需要了解的几本书
May 19 Javascript
基于jquery实现图片上传本地预览功能
Jan 08 Javascript
基于JS实现无缝滚动思路及代码分享
Jun 07 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
Nov 17 Javascript
Javascript防止图片拉伸的自适应处理方法
Dec 26 Javascript
vue 翻页组件vue-flip-page效果
Feb 05 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
微信小程序实现时间戳格式转换
Jul 20 #Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
Jul 20 #Javascript
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 #jQuery
解决echarts echarts数据动态更新和dataZoom被重置问题
Jul 20 #Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
Jul 20 #Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
Jul 20 #Javascript
基于Echarts图表在div动态切换时不显示的解决方式
Jul 20 #Javascript
You might like
PHP读MYSQL中文乱码的解决方法
2006/12/17 PHP
PHP程序员不应该忽略的3点
2015/10/09 PHP
[原创]php简单隔行变色功能实现代码
2016/07/09 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
javascript 短路法代码精简
2009/08/20 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
JavaScript异步上传图片文件的实例代码
2017/07/04 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
php使用递归与迭代实现快速排序示例
2014/01/23 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
母亲节演讲稿
2014/05/27 职场文书
人民调解协议书范本
2014/10/11 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
考试作弊检讨
2015/01/27 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
能让Python提速超40倍的神器Cython详解
2021/06/24 Python
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS