ichart.js绘制虚线 ,平均分虚线
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绘制虚线 ,平均分虚线相关推荐
- Android_(控件)使用自定义控件在屏幕中绘制一条虚线
在Android屏幕中绘制虚线,最通用的是自定义控件DashedLine,再将自定义控件放入xml布局中 运行截图: 程序结构 package com.example.asus.gary_042;im ...
- Android绘制竖直虚线完美解决方案—自定义View
Android绘制竖直虚线完美解决方案-自定义View 开发中我们经常会遇到绘制虚线的需求,一般我们使用一个drawable文件即可实现,下面我会先列举常规drawable文件的实现方式. 使用dra ...
- 打造自己的树莓派监控系统3--canvas.js绘制数据
系列文章: 文章1:打造自己的树莓派监控系统1–CPU监控-matplotlib显示数据 文章2:打造自己的树莓派监控系统2–内存监控-matplotlib显示数据 文章3:打造自己的树莓派监控系统3 ...
- jquery.dataTable.js 绘制表格使用详解
dataTable.js绘制表格真的是很不错,下面看看如何应用吧. 先导入dataTable.js的库吧! 定义html页面. <div><div id="result&q ...
- PHP3d地球,three.js绘制地球、飞机与轨迹的效果示例
对于three.js不太熟悉的朋友们可以参考这篇文章,threejs官网:https://threejs.org/ 首先我们来看下要实现的效果 这个缩小后的图片,下面我们来看下近距离的动态效果.. 效 ...
- 使用raphael.js绘制中国地图
最近的数据统计项目中要用到中国地图,也就是在地图上动态的显示某个时间段某个省份地区的统计数据,我们不需要flash,仅仅依靠raphael.js以及SVG图像就可以完成地图的交互操作.在本文中,我给大 ...
- mermaid与flowchart.js绘制流程图分支结构试验
mermaid与flowchart.js绘制流程图分支结构试验 近日绘制流程图时对不断修改调整流程图中节点位置感到很厌烦,想要改用代码方式来写流程图.以下试验均基于CSDN编辑器的的mermaid和f ...
- html5无法绘制线条,Html5画布 - 使用fabric.js绘制完美线条或不使用
我正在创建一个游戏,我需要在不同类型的屏幕分辨率和缩放下实现HTML5上的完美画布线.Html5画布 - 使用fabric.js绘制完美线条或不使用 很容易理解我说的,简单地粘贴在两个不同的代码转换成 ...
- 便利贴--9{Cesium+js绘制多个点和多个线的图层,加标题}
便利贴--9{Cesium+js绘制多个点和多个线的图层,加标题} 代码 代码 附加转类型从openlayers线数据转到DC的Polyline数据 changeData(data, name, va ...
- 纯JS绘制的QQ LOGO
纯JS绘制的QQ LOGO 代码片段(1) [文件] canvasqqlogo.zip ~ 4KB 下载(278) 标签: <无> from: http://www.oschina. ...
最新文章
- 人人都是作曲家:基于深度神经网络的音乐风格迁移
- “cvSnakeImage”: 找不到标识符
- 浅谈主动学习(Active Learning)
- Spring boot表单提交日期格式
- 记一次使用 android 自带 WebView 做富文本编辑器之API、机型的兼容及各种奇葩bug的解决...
- Linux Ubuntu终端“@”前后的含义及修改(修改用户名及主机名)【试用办法,部分不可行】
- python 3.7.732位安装步骤_Python3.7安装pyaudio教程解析
- 34 SD配置-销售凭证设置-定义销售凭证类型
- 重要的数据结构--队列(C语言实现)
- C语言:运行中获取宏名字的技巧
- 关于codeblock中一些常用的快捷键(搬运)
- 西南交通大学计算机应用基础,西南交通大学计算机应用基础作业-客观部分
- 微信小程序UI设计(一)之开发前言
- RPLIDAR思岚雷达学习记录--6--matlab处理雷达数据
- Gabor特征码分析
- 【Python】把excel文件中的数据转化为字典格式存起来
- flash 与3D笔记:图片墙(1)
- 【算法】剑指offer-删除链表中重复的节点最小栈
- 判断一个树是否为二叉查找树
- IO有Buffered IO 和 Direct IO