//定义一组颜色值,按顺序取出

var colorGroup = ["#6ca3c4","#76bfa3","#ea8f7a","#499acd","#ba97c9","#98bd76","#e0ab57"];

//获取手机屏幕宽度

var iWidth = document.documentElement.clientWidth;

//封装一个多折线的

var moreBrokenLineOption = function (options) {

var option = {

backgroundColor: "#fff",

title:{

show:false,

},

legend: {

data: options.legendData,

left: 20*iWidth/720,

icon: 'circle',

bottom: 0*iWidth/720,

textStyle: {

fontSize: 16*iWidth/720,

color: "#91989e",

fontWeight:"normal",

fontFamily:"Microsoft Yahei"

},

},

grid: {

top: 20*iWidth/720,

left: 80*iWidth/720,

right: 40*iWidth/720,

bottom:55*iWidth/720

},

xAxis: [

{

type: 'category',

axisTick: {

show: false

},

axisLine: {

lineStyle: {

color: "#DFE0E1"

}

},

axisLabel: {

margin:12*iWidth/720,

textStyle: {

color: '#6f7479',

fontSize: 16*iWidth/720,

fontWeight:"normal",

fontFamily:"Microsoft Yahei"

}

},

boundaryGap: false,

data: ""

}

],

yAxis: [

{

type: 'value',

nameLocation:"start",

nameTextStyle: {

color: '#ccc',

fontSize: 16*iWidth/720,

fontWeight:"normal",

fontFamily:"Microsoft Yahei"

},

axisTick: {

show: false

},

splitLine: {

show: false

},

axisLine: {

lineStyle: {

color: "#DFE0E1"

}

},

axisLabel: {

textStyle: {

color: '#6f7479',

fontSize: 16*iWidth/720,

fontWeight:"normal",

fontFamily:"Microsoft Yahei"

},

margin:16*iWidth/720,

formatter: function (value, index) {

if (options.axisLabelFormatter) {

return value + '%';

} else {

return value;

}

}

}

}

],

series: []

}

//重组数据
option.xAxis[0].data = (function () {

return options.xAxisData.map(function (item, index) {

return {

value: item,

textStyle: {

fontSize: 17*iWidth/720

}

}

})

})();

//重组数据option.series

(function () {

options.legendData.map(function (item, index) {

option.series.push({

name: item,

type: 'line',

stack: '总量',

data: options.seriesData[index],

symbol: "circle",

symbolSize: '10',

//改变折现点的样式

itemStyle: {

normal: {

color: colorGroup[index],

borderType: "solid",

borderWidth: "2",

borderColor: "#fff"

}

},

//折线的颜色

lineStyle: {

normal: {

color: colorGroup[index]

}

},

// label: {

// normal: {

// show: true,

// position: 'top'//显示在里面顶部 用inner 显示外面贴着顶部用top

// }

// },

areaStyle: {

normal: {

//背景颜色

color: colorGroup[index],

//设置透明度

opacity:"0.2",

lineStyle: {

color: colorGroup[index]

}

}

}

})

})

})()

return option;
}

使用方法

var bigCharts = function (options) {
var mainDom = document.getElementById(options.parentDom);

var html = '<ul class="header">'

+ '<li class="title">'

+ '<span class="title-title">'+options.title+'</span>'

+ '<sapn class="title-time">'+options.time+'</sapn>'

+ '</li>'

+ '<li class="subtext">'

+ '<span class="subtext-num">'+options.clickNum+'</span>'

+ '<span class="subtext-text">次</span>'

+ '</li>'

+ '</ul>';

mainDom.innerHTML = html;

//创建存放图表的dom节点

var echartDom = document.createElement("div");

echartDom.id = options.parentDom + "_echart";

echartDom.className = "big-chart";

mainDom.appendChild(echartDom);

echartDom = null;

var echart = echarts.init(document.getElementById(options.parentDom + "_echart"));

echart.setOption(moreBrokenLineOption({

"legendData": options.legendData,

"xAxisData":options.xAxisData,

"axisLabelFormatter": options.axisLabelFormatter,

"seriesData":options.seriesData

}));

}

//第一个大图

bigCharts({

"parentDom":"main0",

"title":"用户访问点击率",

"time":"2016-12-20至2017-02-20",

"clickNum":"100",

"legendData":['活动点击数', '参与人数', '达标人数', '参与中奖人数', '中奖人数'],

"xAxisData":["10.15", "10.16", "10.17", "10.18", "10.19", "10.20", "10.21"],

"axisLabelFormatter":false,

"seriesData":[

[120, 132, 101, 134, 90, 230, 280],

[220, 182, 191, 234, 290, 330, 310],

[150, 232, 201, 154, 190, 330, 410],

[320, 332, 301, 334, 390, 330, 320],

[820, 932, 901, 934, 1290, 1330, 1320]

]

});

一个手机图表(echarts)折线图的封装的更多相关文章

  1. 图表echarts折线图,柱状图,饼状图

    总体就是有折线图相关图标的设置,x,y轴的设置,x,y轴或者数据加上单位的设置.饼状图如何默认显示几个数据中的某个数据 折线图:legend(小标题)中间默认是圆圈 改变成直线 在legend设置的时 ...

  2. echarts折线图动态改变数据时的一个bug

    echarts折线图中当增加dataZoom,修改start大于0的时候,会出现折线混乱,变成竖直的线,绘制有问题. 解决方法,在dataZoom中增加filterMode: 'empty' http ...

  3. 实现Echarts折线图的虚实转换

    需求:医院的体温单,在统计体温时,对于正常情况下统计的体温数据,需要显示实线:对于进行物理降温后统计的体温数据,需要显示虚线. 现有的体温单是运用 Echarts 折线图,统一用实线显示.因此在这基础 ...

  4. d3.js 教程 模仿echarts折线图

    今天我们来仿echarts折线图,这个图在echarts是折线图堆叠,但是我用d3改造成了普通的折线图,只为了大家学习(其实在简单的写一个布局就可以).废话不多说商行代码. 1 制作 Line 类 c ...

  5. ECharts折线图堆叠设置为不堆叠的方法

    下图是ECharts折线图堆叠的官方源码,设置折线图不堆叠只需要将每一个stack的值设置为不一样的名称或者将stack属性删除即可. option = { title: { text: '折线图堆叠 ...

  6. vue使用axios读取本地json文件来显示echarts折线图

    编辑器:HBuilderx axios文档:http://www.axios-js.com/zh-cn/docs/ echarts实例:https://echarts.apache.org/examp ...

  7. canvas图表(2) - 折线图

    原文地址:canvas图表(2) - 折线图 话说这天气一冷啊, 就患懒癌, 就不想码代码, 就想着在床上舒舒服服看视频. 那顺便就看blender视频, 学习下3D建模, 如果学会了建3D模型, 那 ...

  8. echarts折线图,数据切换时(最近七天)绘图不合理现象

    echarts折线图,当进行数据切换时存在绘制不合理的问题,数据没错,但绘制不对. 两个0之间的连线应该是平滑直线,如图: 正确的显示: 解决: 在myCharts.setOption(option) ...

  9. echarts 拼图和折线图的封装 及常规处理

    1.html <div id="wrap"></div> 2.js ; (function ($) { $.fn.extend({ echartsPie: ...

随机推荐

  1. 利用SSL For Free工具3分钟获取Let's Encrypt免费SSL证书

    https://www.sslforfree.com/

  2. P1462 通往奥格瑞玛的道路(二分答案+最短路)

    P1462 通往奥格瑞玛的道路 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡 ...

  3. SpringMVC+Jquery实现Ajax

    一.什么是Ajax? Ajax:异步的JavaScript和Json(这里XML改为了Json): 作用:用于完成网页局部刷新功能(修改少量数据只用局部刷新,不用再整个网页重新加载): 二.Sprin ...

  4. python自动化测试学习笔记-6urllib模块&request模块

    python3的urllib 模块提供了获取页面的功能. urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capat ...

  5. BZOJ 4668 LCT

    思路: 这不是LCT裸题嘛23333 (好像并查集+按秩合并就可以搞了 我还是too young) 维护边权的话 就新加一个点 代表边 这个点想线段的两个端点连边就好了 //By SiriusRen ...

  6. semantic、vue 使用分页组件和日历插件

    最近正在试试semantic-ui,结合了vue,这里忍不住吐槽semantic和vue的友好度简直不忍直视,不过既然用了,这里就分享几个用到的插件了 1.分页组件(基于vue) var pageCo ...

  7. python--11、数据库及SQL基础

    常用命令记录 查看库中所有表的引擎 SHOW TABLE STATUS FROM `center_main_db`; 还有一个更简洁,查询cmol_system_db库所有表的存储引擎\ SELECT ...

  8. Python--10、进程知识补充

    守护进程 基于进程启动的子进程,会和主进程一起结束.主进程结束的依据是程序的代码执行完毕. #创建守护进程p=Process(task) p.daemon = True p.start() 子进程需要 ...

  9. html5——盒子模式

    box-sizing属性 box-sizing: border-box;/*内减模式*/ box-sizing: content-box;/*外加模式(默认值)*/ box-sizing: paddi ...

  10. CSS——轮播图中的箭头

    注意事项: 1.定位中left权重比right高,top权重比bottom高 2.两个span标签嵌套在一个盒子中,将来显示隐藏只需要控制父盒子就行了 <!DOCTYPE html> &l ...