在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 相关文章推荐
JQuery Dialog的内存泄露问题解决方法
Jun 18 Javascript
关于图片按比例自适应缩放的js代码
Oct 30 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
jQuery实现手机号码输入提示功能实例
Apr 30 Javascript
js实现多图左右切换功能
Aug 04 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
Aug 10 Javascript
详解堆的javascript实现方法
Nov 29 Javascript
javascript trie前缀树的示例
Jan 29 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
Feb 26 Javascript
vue mint-ui tabbar变组件使用
May 04 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
Aug 03 Javascript
微信小程序实现时间戳格式转换
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
构建简单的Webmail系统
2006/10/09 PHP
php 方便水印和缩略图的图形类
2009/05/21 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
PHP children()函数讲解
2019/02/03 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
Vue.js 2.x之组件的定义和注册图文详解
2018/06/19 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
[01:20:06]TNC vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python标准库之Sys模块使用详解
2015/05/23 Python
python查看微信好友是否删除自己
2016/12/19 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
护理专业个人求职简历的自我评价
2013/10/13 职场文书
机械设计及其自动化专业推荐信
2013/10/31 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
2014年村官工作总结
2014/11/24 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL