echarts配置项太多了,还是一点点积累吧~~~~~

当然前提条件还是得老老实实看echarts官方文档 :https://echarts.baidu.com/

今天主要就介绍下我在工作中通过echarts实现的微信小程序的折线图

Demo地址:https://gitee.com/v-Xie/echartsDemo.git

效果嘛如下:

通过此图分析得出需要实现以下几点:(主要配置代码请看后面部分)

1.标题(折线图)-title

  需:颜色,文本,位置

2.图例(财运,感情,事业)-legend

  需:图例颜色,图标形状,图标文本,各图标间隔

3.横纵坐标

  需: 》》横坐标-xAxis

          刻度【周一,周二...周日】,-axisLabel

       分割线 -splitLine

》》纵坐标-yAxis:

          刻度【大吉,...凶】,-axisLabel

       分割线 -splitLine

4.数据项-series

开发吧:

首先下载echarts

进行中:

目录

line/index.wxml

<!--index.wxml-->
<view class="container">
<view class='echart_wrap'>
<ec-canvas id="mychart" canvas-id="mychart-line" ec="{{ ec }}"></ec-canvas>
</view>
</view>

line/index.json

{
"usingComponents": {
"ec-canvas": "../../ec-canvas/ec-canvas"
}
}

line/index.js中

// 引入echarts.js
import * as echarts from '../../ec-canvas/echarts';
var Chart=null;
const app = getApp();
Page({
data: {
ec: {
onInit: function (canvas, width, height) {
chart = echarts.init(canvas, null, {
width: width,
height: height
});
canvas.setChart(chart);
return chart;
},
lazyLoad: true // 延迟加载
},
},
onLoad: function (options) {
this.echartsComponnet = this.selectComponent('#mychart');
//如果是第一次绘制
if (!Chart) {
this.init_echarts(); //初始化图表
} else {
this.setOption(Chart); //更新数据
}
},
onReady() {
},
//初始化图表
init_echarts: function () {
this.echartsComponnet.init((canvas, width, height) => {
// 初始化图表
const Chart = echarts.init(canvas, null, {
width: width,
height: height
});
this.setOption(Chart)
// 注意这里一定要返回 chart 实例,否则会影响事件处理等
return Chart;
});
},
setOption: function (Chart) {
Chart.clear(); // 清除
Chart.setOption(this.getOption()); //获取新数据
},
// 图表配置项
getOption() {
var self = this;
var option = {
title: {//标题
text: '折线图',
left: 'center'
},
renderAsImage: true, //支持渲染为图片模式
color: ["#FFC34F", "#FF6D60", "#44B2FB"],//图例图标颜色
legend: {
show: true,
itemGap: ,//每个图例间的间隔
top: ,
x: ,//水平安放位置,离容器左侧的距离 'left'
z: ,
textStyle: {
color: '#383838'
},
data: [//图例具体内容
{
name: '财运',//图例名字
textStyle: {//图例文本样式
fontSize: ,
color: '#383838'
},
icon: 'roundRect'//图例项的 icon,可以是图片
},
{
name: '感情',
textStyle: {
fontSize: ,
color: '#383838'
},
icon: 'roundRect'
},
{
name: '事业',
textStyle: {
fontSize: ,
color: '#383838'
},
icon: 'roundRect'
}
]
},
grid: {//网格
left: ,
top:,
containLabel: true,//grid 区域是否包含坐标轴的刻度标签
},
xAxis: {//横坐标
type: 'category',
name: '日期',//横坐标名称
nameTextStyle: {//在name值存在下,设置name的样式
color: 'red',
fontStyle: 'normal'
},
nameLocation:'end',
splitLine: {//坐标轴在 grid 区域中的分隔线。
show: true,
lineStyle: {
type: 'dashed'
}
},
boundaryGap: false,//1.true 数据点在2个刻度直接 2.fals 数据点在分割线上,即刻度值上
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
axisLabel: {
textStyle: {
fontSize: ,
color: '#5D5D5D'
}
}
},
yAxis: {//纵坐标
type: 'value',
position:'left',
name: '运势',//纵坐标名称
nameTextStyle:{//在name值存在下,设置name的样式
color:'red',
fontStyle:'normal'
},
splitNumber: ,//坐标轴的分割段数
splitLine: {//坐标轴在 grid 区域中的分隔线。
show: true,
lineStyle: {
type: 'dashed'
}
},
axisLabel: {//坐标轴刻度标签
formatter: function (value) {
var xLable = [];
) {
xLable.push('大凶');
}
) {
xLable.push('凶');
}
) {
xLable.push('平淡');
}
) {
xLable.push('小吉');
}
) {
xLable.push('大吉');
}
return xLable
},
textStyle: {
fontSize: ,
color: '#5D5D5D',
}
},
min: ,
max: ,
},
series: [{
name: '财运',
type: 'line',
data: [, , , , , , ],
symbol: 'none',
itemStyle: {
normal: {
lineStyle: {
color: '#FFC34F'
}
}
}
}, {
name: '感情',
type: 'line',
data: [, , , , , , ],
// data: ["80", "20", "50", "70", "80", "60", "70"],
symbol: 'none',
itemStyle: {
normal: {
lineStyle: {
color: '#FF6D60'
}
}
}
}, {
name: '事业',
type: 'line',
data: [, , , , , , ],
// data: ["50", "30", "40", "70", "90", "30", "20"],
symbol: 'none',
itemStyle: {
normal: {
lineStyle: {
color: '#44B2FB'
}
}
}
}],
}
return option;
},
});

      

微信小程序中-折线图的更多相关文章

  1. 微信小程序echart 折线图legend不显示的问题

    最近使用小程序echart折线图,遇到表头一直不显示问题,查询之后解决方案:

  2. 微信小程序绘制分享图

    微信小程序绘制分享图例子: demo下载地址:https://gitee.com/v-Xie/wxCanvasShar 大致代码会再以下说明 实际开发项目: 基础知识点: 了解canvas基础知识 w ...

  3. 微信小程序中用户登录和登录态维护

    提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户信息的纯工具软件. 让用户 ...

  4. 全栈开发工程师微信小程序-中(下)

    全栈开发工程师微信小程序-中(下) 微信小程序视图层 wxml用于描述页面的结构,wxss用于描述页面的样式,组件用于视图的基本组成单元. // 绑定数据 index.wxml <view> ...

  5. 微信小程序中this关键字使用技巧

    转自:https://blog.csdn.net/qq_33956478/article/details/81348453 微信小程序中,在wx.request({});方法调用成功或者失败之后,有时 ...

  6. 如何在微信小程序中使用字体图标

    微信小程序中,在image标签里,可以在src中引用本地文件,但是background设置背景图或者使用字体图标的时候,却不能引用本地文件,只能用url地址的图片或字体,或者使用base64编码后的格 ...

  7. 图解微信小程序---轮播图

    图解微信小程序---轮播图 代码笔记 第一步:在页面创建swiper组件 第二步:编写js页面 注意事项:wx:for渲染我们js中的图片数组,item默认写法,获取我们的图片数组中的图片,可通过增加 ...

  8. 微信小程序中如何上传图片

    本篇文章给大家带来的内容是关于微信小程序中如何上传图片(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.wxml文件 <text>上传图片</text ...

  9. 在微信小程序中绘制图表(part2)

    本期大纲 1.确定纵坐标的范围并绘制 2.根据真实数据绘制折线 相关阅读:在微信小程序中绘制图表(part1)在微信小程序中绘制图表(part3) 关注我的 github 项目 查看完整代码. 确定纵 ...

随机推荐

  1. typescript的函数

    1:默认参数(传入值会覆盖默认参数,不传值也行) function getinfo(name:string,age:number=20):string{ return `${name}---${age ...

  2. 虹软免费人脸识别SDK注册指南

    成为开发者三步完成账号的基本注册与认证:STEP1:点击注册虹软AI开放平台右上角注册选项,完成注册流程.STEP2:首次使用,登录后进入开发者中心,点击账号管理完成企业或者个人认证,若未进行实名认证 ...

  3. Java版 人脸识别SDK demo

    虹软人脸识别SDK之Java版,支持SDK 1.1+,以及当前最新版本2.0,滴滴,抓紧上车! 前言 由于业务需求,最近跟人脸识别杠上了,本以为虹软提供的SDK是那种面向开发语言的,结果是一堆dll· ...

  4. Python之爬虫的理解

    #  -*- coding: utf-8 -*-  中文用户一定先用这行来声明编码方式 爬虫: 爬虫是自动访问互联网,并且提取数据的程序  (从网络上获取非结构化的数据,ETL将这些数据转换为结构化数 ...

  5. centos 7 selinux开启关闭

    1 查看selinux状态 [root@localhost ~]# sestatus SELinux status: disabled 2 关闭 零时关闭 [root@localhost ~]# se ...

  6. ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库

    字符集为ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库  相信大家都对字符集有相当的了解了,废话就不多说了!直接步入正题:这里主要是测试含有 汉字的数据从ZHS16GBK的数据库导入到 ...

  7. Django Template(模板)

    一.模板组成 组成:HTML代码 + 逻辑控制代码 二.逻辑控制代码的组成 1.变量 语法格式 : {{ name }} # 使用双大括号来引用变量 1.Template和Context对象(不推荐使 ...

  8. vue兄弟之间传值 bus中央事件总线

    创建一个eventVue.js文件 import Vue from 'vue' export default new Vue 父 <template> <div> <di ...

  9. Python--day13(函数嵌套定义,global、nonlocal、闭包函数、装饰器)

    今日主要内容 1.  函数的嵌套定义 2.  global.nonlocal关键字 3.  闭包及闭包的应用场景 4. 装饰器 1.  函数的嵌套定义 概念:在一个函数的内部定义另一个函数 为什么要有 ...

  10. 电梯调度编写(oo-java编程)

    第二单元的问题是写一个关于电梯调度的程序. 需要模拟一个多线程实时电梯系统,从标准输入中输入请求信息,程序进行接收和处理,模拟电梯运行,将必要的运行信息通过输出接口进行输出. 主要锻炼学生的多线程程序 ...