var Data=new Array();Data[0] = {labels : ["第一单元","第二单元","第三单元","第四单元","第五单元"],datasets : [{name : '优秀率',color:'#1dbcfe',line_width:4,value : [80,75,92,62,0]}]}Data[1] = {labels : ["第一单元","第二单元","第三单元","第四单元","第五单元"],datasets : [{name : '优秀率',color:'#1dbcfe',line_width:4,value : [50,11,62,77,90]}]}Data[2] = {labels : ["第一单元","第二单元","第三单元","第四单元","第五单元"],datasets : [{name : '优秀率',color:'#1dbcfe',line_width:4,value : [80,51,32,44,80]}]}var _bodyWidth=$('body').width()-16;$('.item').each(function(i){var _id=$(this).find('.canvas-wrap').attr('id');var chart = new iChart.LineBasic2D({render : _id,data: Data[i].datasets,align:'center',border:0,width : _bodyWidth*2,height : _bodyWidth*1.2,background_color:'#fafafa',animation : true,//开启过渡动画animation_duration:600,//600ms完成动画sub_option : {smooth : true,hollow:false,hollow_inside:false,point_size:16,listeners : {parseText : function(r, t) {return t+'%';}},label:{fontsize:24,color:'#333'},},coordinate:{width:_bodyWidth*1.6,valid_width:_bodyWidth*1.4,height:_bodyWidth*1.6*.5,striped_factor : 0.18,axis:{color:'#aaa',width:[0,0,8,0]},scale:[{position:'left',  start_scale:0,end_scale:100,scale_space:20,scale_size:2,scale_enable : false,label : {color:'#999',fontsize:24},scale_color:'#999'},{position:'bottom',   label : {color:'#999',fontsize:24},scale_enable : false,labels:Data[i].labels}]}});/***自定义组件,画平均线。*/chart.plugin(new iChart.Custom({drawFn:function(){/***计算平均值的高度(坐标Y值)*/    var _total=0;$.each(Data[i].datasets[0].value,function(i,val){_total+=val;});var avg = _total/Data[i].datasets[0].value.length,//计算出的平均分写在这即可coo = chart.getCoordinate(),x = coo.get('originx'),W = coo.width,S = coo.getScale('left'),H = coo.height,h = (avg - S.start) * H / S.distance,y = chart.y + H - h;
//相对于原来的绘制直线,修改为循环绘制n段直线                                                  for(xi=x;xi<=(x+W);xi=xi+32){chart.target.line(xi,y,xi+16,y,2,'#fe941c');}chart.target.textAlign('start').textBaseline('middle').textFont('500 20px Verdana').fillText('平均战胜率'+avg+'%',x+W-100,y-20,false,'#fe941c');}}));chart.draw();});
                       
                   

以上代码是绘制多个折线图的js示例,以及在每个折线图内绘制平均分虚线的方法。

ichart.js是一个十分不错的图标绘制js,缺点是在移动端需要先设置两倍大小,再用css和js手动缩小到正常范围,以使其在屏幕上保持高清。

官网有绘制平均线的示例,但是没有虚线的,而一般为了不混淆,平均线都是使用虚线绘制的。这里我只是循环绘制了n端直线,算是一个变通的方法。如有更好的方法请留言哦谢谢。

ps:欢迎访问我的小站:模板世界,获取更多有用的前端资源。

XD

转载于:https://www.cnblogs.com/w2xh/p/5460850.html

ichart.js绘制虚线 ,平均分虚线相关推荐

  1. Android_(控件)使用自定义控件在屏幕中绘制一条虚线

    在Android屏幕中绘制虚线,最通用的是自定义控件DashedLine,再将自定义控件放入xml布局中 运行截图: 程序结构 package com.example.asus.gary_042;im ...

  2. Android绘制竖直虚线完美解决方案—自定义View

    Android绘制竖直虚线完美解决方案-自定义View 开发中我们经常会遇到绘制虚线的需求,一般我们使用一个drawable文件即可实现,下面我会先列举常规drawable文件的实现方式. 使用dra ...

  3. 打造自己的树莓派监控系统3--canvas.js绘制数据

    系列文章: 文章1:打造自己的树莓派监控系统1–CPU监控-matplotlib显示数据 文章2:打造自己的树莓派监控系统2–内存监控-matplotlib显示数据 文章3:打造自己的树莓派监控系统3 ...

  4. jquery.dataTable.js 绘制表格使用详解

    dataTable.js绘制表格真的是很不错,下面看看如何应用吧. 先导入dataTable.js的库吧! 定义html页面. <div><div id="result&q ...

  5. PHP3d地球,three.js绘制地球、飞机与轨迹的效果示例

    对于three.js不太熟悉的朋友们可以参考这篇文章,threejs官网:https://threejs.org/ 首先我们来看下要实现的效果 这个缩小后的图片,下面我们来看下近距离的动态效果.. 效 ...

  6. 使用raphael.js绘制中国地图

    最近的数据统计项目中要用到中国地图,也就是在地图上动态的显示某个时间段某个省份地区的统计数据,我们不需要flash,仅仅依靠raphael.js以及SVG图像就可以完成地图的交互操作.在本文中,我给大 ...

  7. mermaid与flowchart.js绘制流程图分支结构试验

    mermaid与flowchart.js绘制流程图分支结构试验 近日绘制流程图时对不断修改调整流程图中节点位置感到很厌烦,想要改用代码方式来写流程图.以下试验均基于CSDN编辑器的的mermaid和f ...

  8. html5无法绘制线条,Html5画布 - 使用fabric.js绘制完美线条或不使用

    我正在创建一个游戏,我需要在不同类型的屏幕分辨率和缩放下实现HTML5上的完美画布线.Html5画布 - 使用fabric.js绘制完美线条或不使用 很容易理解我说的,简单地粘贴在两个不同的代码转换成 ...

  9. 便利贴--9{Cesium+js绘制多个点和多个线的图层,加标题}

    便利贴--9{Cesium+js绘制多个点和多个线的图层,加标题} 代码 代码 附加转类型从openlayers线数据转到DC的Polyline数据 changeData(data, name, va ...

  10. 纯JS绘制的QQ LOGO

    纯JS绘制的QQ LOGO 代码片段(1) [文件] canvasqqlogo.zip ~ 4KB    下载(278) 标签: <无> from: http://www.oschina. ...

最新文章

  1. 人人都是作曲家:基于深度神经网络的音乐风格迁移
  2. “cvSnakeImage”: 找不到标识符
  3. 浅谈主动学习(Active Learning)
  4. Spring boot表单提交日期格式
  5. 记一次使用 android 自带 WebView 做富文本编辑器之API、机型的兼容及各种奇葩bug的解决...
  6. Linux Ubuntu终端“@”前后的含义及修改(修改用户名及主机名)【试用办法,部分不可行】
  7. python 3.7.732位安装步骤_Python3.7安装pyaudio教程解析
  8. 34 SD配置-销售凭证设置-定义销售凭证类型
  9. 重要的数据结构--队列(C语言实现)
  10. C语言:运行中获取宏名字的技巧
  11. 关于codeblock中一些常用的快捷键(搬运)
  12. 西南交通大学计算机应用基础,西南交通大学计算机应用基础作业-客观部分
  13. 微信小程序UI设计(一)之开发前言
  14. RPLIDAR思岚雷达学习记录--6--matlab处理雷达数据
  15. Gabor特征码分析
  16. 【Python】把excel文件中的数据转化为字典格式存起来
  17. flash 与3D笔记:图片墙(1)
  18. 【算法】剑指offer-删除链表中重复的节点最小栈
  19. 判断一个树是否为二叉查找树
  20. IO有Buffered IO 和 Direct IO

热门文章

  1. 算法设计与分析(第二版)上机实验题——Java实现
  2. 一款超强可视化报表工具:RDP报表工具
  3. python分页PDF
  4. android 默认分辨率是多少合适,Bluestacks分辨率修改多少合适
  5. 如何用猿大师播放器把海康威视硬盘录像机截取MP4视频在web页面上回放?支持本地和远程视频吗?
  6. 13G311-1 混凝土结构加固构造 免费下载
  7. GBK/GBK2312字库寻址及使用原理
  8. 周志华《机器学习》课后习题(第六章):支持向量机
  9. 部署VC2008应用程序时不能运行解决办法
  10. 私藏的18个黑科技网站,想找什么软件就找什么软件!