微信小程序中-折线图

摘要:
show:true,lineStyle:{type:'dashed'}},boundaryGap:false,//1.true数据点在2个刻度直接2.fals数据点在分割线上,即刻度值上data:['周一','周二','周三','周四','周五','周六','周日'],axisLabel:{textStyle:{fontSize:13,color:'#5D5D5D'}}},yAxis:{//纵坐标type:'value',position:'left',name:'运势',//纵坐标名称nameTextStyle:{//在name值存在下,设置name的样式color:'red',fontStyle:'normal'},splitNumber:5,//坐标轴的分割段数splitLine:{//坐标轴在grid区域中的分隔线。

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

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

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

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

效果嘛如下:

微信小程序中-折线图第1张

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

1.标题(折线图)-title

需:颜色,文本,位置

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

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

3.横纵坐标

需: 》》横坐标-xAxis

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

分割线 -splitLine

》》纵坐标-yAxis:

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

分割线 -splitLine

4.数据项-series

开发吧:

首先下载echarts

微信小程序中-折线图第2张

进行中:

目录

微信小程序中-折线图第3张

line/index.wxml

<!--index.wxml-->
<viewclass="container">
<viewclass='echart_wrap'>
<ec-canvasid="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,
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,
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: 25,//每个图例间的间隔
top: 30,
x: 30,//水平安放位置,离容器左侧的距离 'left'
z: 100,
textStyle: {
color: '#383838'
},
data: [//图例具体内容
{
name: '财运',//图例名字
textStyle: {//图例文本样式
fontSize: 13,
color: '#383838'
},
icon: 'roundRect'//图例项的 icon,可以是图片
},
{
name: '感情',
textStyle: {
fontSize: 13,
color: '#383838'
},
icon: 'roundRect'
},
{
name: '事业',
textStyle: {
fontSize: 13,
color: '#383838'
},
icon: 'roundRect'
}
]
},
grid: {//网格
left: 30,
top:100,
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: 13,
color: '#5D5D5D'
}
}
},
yAxis: {//纵坐标
type: 'value',
position:'left',
name: '运势',//纵坐标名称
nameTextStyle:{//在name值存在下,设置name的样式
color:'red',
fontStyle:'normal'
},
splitNumber: 5,//坐标轴的分割段数
splitLine: {//坐标轴在 grid 区域中的分隔线。
show: true,
lineStyle: {
type: 'dashed'
}
},
axisLabel: {//坐标轴刻度标签
formatter: function (value) {
var xLable = [];
if (value == 20) {
xLable.push('大凶');
}
if (value == 40) {
xLable.push('凶');
}
if (value == 60) {
xLable.push('平淡');
}
if (value == 80) {
xLable.push('小吉');
}
if (value == 100) {
xLable.push('大吉');
}
return xLable
},
textStyle: {
fontSize: 13,
color: '#5D5D5D',
}
},
min: 0,
max: 100,
},
series: [{
name: '财运',
type: 'line',
data: [18, 36, 65, 30, 78, 40, 33],
symbol: 'none',
itemStyle: {
normal: {
lineStyle: {
color: '#FFC34F'
}
}
}
}, {
name: '感情',
type: 'line',
data: [12, 50, 51, 35, 70, 30, 20],
// data: ["80", "20", "50", "70", "80", "60", "70"],
symbol: 'none',
itemStyle: {
normal: {
lineStyle: {
color: '#FF6D60'
}
}
}
}, {
name: '事业',
type: 'line',
data: [10, 30, 31, 50, 40, 20, 10],
// data: ["50", "30", "40", "70", "90", "30", "20"],
symbol: 'none',
itemStyle: {
normal: {
lineStyle: {
color: '#44B2FB'
}
}
}
}],
}
return option;
},
});

免责声明:文章转载自《微信小程序中-折线图》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)【java】之Method和Field反射获取和设置属性值下篇

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

相关文章

简说chart2.4的应用,以及Uncaught ReferenceError : require is not defined的解决

    51呢最近在学习chart.js,然后呢就照着中文的帮助文档来然后就一直出Uncaught ReferenceError : require is not defined的问题查了挺多才知道是帮助文档跟chat.js不匹配的问题。   chart.js是分1.x和2.x版本的最新的版本是2.7.0,大家github下包的时候别下master分支包,...

canvas基础绘制矩形(1)

1、canvas基础知识 canvas元素是HTML5中新增的一个重要的元素,专门用来绘制图形,不过canvas本身不具备画图的能力,在页面中放置了canvas元素,就相当于在页面中放置了一块矩形的“画布”,我们可以利用js脚本在“画布”上绘制图形。 1.1canvas元素  在利用canvas绘制图形之前,我们首先需要在页面中放置一个canvas元素,...

C# Excel 为图表添加模拟运算表

  Excel中的图表能够将数据可视化,方便我们比较分析数据。但也有一定的局限,例如:不能够直接从图表中读出原来数据的准确值。Excel提供的解决方案是,在图表下方添加一个模拟运算表,即在坐标轴下方添加包含建表时所依照的数据的表格。本文旨在介绍通过免费的Free Spire.XLS在C#独立创建Excel文件,添加数据,生成图表,并添加模拟运算表。 需要使...

vbscript 中对excel常见操作

 vbs 对excel的操作 删除、修改单元格,设置字体、背景色dim oExcel,oWb,oSheet Set oExcel= CreateObject("Excel.Application") Set oWb = oExcel.Workbooks.Open("E:其他新装电话表.xls") Set oSheet = oWb.Sheets("Sheet...

canvas 钟表

上周开始利用闲暇时间看html5 canvas技术。觉得非常好玩。就利用 canvas 做了一个简陋的钟表。源码非常简单,但是在制作的过程中,进入的误区却不少,浪费了很多时间。先上源码,然后在说说我走的岔路。 源码是基于 require.js 去写的,可以去 官网 了解 require.js 的详细资料。 1 define(function(){ 2...

HTML5 Canvas显示本地图片实例1、Canvas预览图片实例1

1.前台代码: <input type="file" /> <canvas height="500"></canvas> <script > //读取本地文件 var inputOne = document.getElement...