ichart.js繪制虛線、平均分虛線效果的實(shí)現(xiàn)代碼
ichart.js繪制虛線、平均分虛線效果的實(shí)現(xiàn)代碼
var Data=new Array();
Data[0] = {
labels : ["第一單元","第二單元","第三單元","第四單元","第五單元"],
datasets : [
{
name : '優(yōu)秀率',
color:'#1dbcfe',
line_width:4,
value : [80,75,92,62,0]
}
]
}
Data[1] = {
labels : ["第一單元","第二單元","第三單元","第四單元","第五單元"],
datasets : [
{
name : '優(yōu)秀率',
color:'#1dbcfe',
line_width:4,
value : [50,11,62,77,90]
}
]
}
Data[2] = {
labels : ["第一單元","第二單元","第三單元","第四單元","第五單元"],
datasets : [
{
name : '優(yōu)秀率',
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,//開(kāi)啟過(guò)渡動(dòng)畫(huà)
animation_duration:600,//600ms完成動(dòng)畫(huà)
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
}]
}
});
/**
*自定義組件,畫(huà)平均線。
*/
chart.plugin(new iChart.Custom({
drawFn:function(){
/**
*計(jì)算平均值的高度(坐標(biāo)Y值)
*/
var _total=0;
$.each(Data[i].datasets[0].value,function(i,val){
_total+=val;
});
var avg = _total/Data[i].datasets[0].value.length,//計(jì)算出的平均分寫(xiě)在這即可
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;
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('平均戰(zhàn)勝率'+avg+'%',x+W-100,y-20,false,'#fe941c');
}
}));
chart.draw();
});
以上代碼是繪制多個(gè)折線圖的js示例,以及在每個(gè)折線圖內(nèi)繪制平均分虛線的方法。
ichart.js是一個(gè)十分不錯(cuò)的圖標(biāo)繪制js,缺點(diǎn)是在移動(dòng)端需要先設(shè)置兩倍大小,再用css和js手動(dòng)縮小到正常范圍,以使其在屏幕上保持高清。
官網(wǎng)有繪制平均線的示例,但是沒(méi)有虛線的,而一般為了不混淆,平均線都是使用虛線繪制的。這里我只是循環(huán)繪制了n端直線,算是一個(gè)變通的方法。如有更好的方法請(qǐng)留言哦謝謝。
以上這篇ichart.js繪制虛線、平均分虛線效果的實(shí)現(xiàn)代碼就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 使用Chart.js圖表庫(kù)制作漂亮的響應(yīng)式表單
- Chart.js 輕量級(jí)HTML5圖表繪制工具庫(kù)(知識(shí)整理)
- 詳解Chart.js輕量級(jí)圖表庫(kù)的使用經(jīng)驗(yàn)
- 在 Angular 中使用Chart.js 和 ng2-charts的示例代碼
- 使用Vue.js 和Chart.js制作絢麗多彩的圖表
- Chart.js在Laravel項(xiàng)目中的應(yīng)用示例
- vue集成chart.js的實(shí)現(xiàn)方法
- 利用ECharts.js畫(huà)K線圖的方法示例
- JavaScript Chart 插件整理
- 詳解vue文件中使用echarts.js的兩種方式
- vue.js+Echarts開(kāi)發(fā)圖表放大縮小功能實(shí)例
- Chart.js功能與使用方法小結(jié)
相關(guān)文章
在JavaScript中獲取請(qǐng)求的URL參數(shù)
在ASP.NET后臺(tái)代碼中,對(duì)于這樣的URL請(qǐng)求地址:http://www.abc.com?id=001,我們可以通過(guò)Request.QueryString["id"]的方法很容易的獲取到URL中請(qǐng)求的參數(shù)的值,但是要在前臺(tái)js代碼中獲取請(qǐng)求的參數(shù)的值,應(yīng)該怎么做呢?2010-12-12
基于Javascript實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單效果
這篇文章主要為大家詳細(xì)介紹了基于Javascript實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03
webpack下實(shí)現(xiàn)動(dòng)態(tài)引入文件方法
下面小編就為大家分享一篇webpack下實(shí)現(xiàn)動(dòng)態(tài)引入文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
JavaScript中數(shù)組嵌套對(duì)象排序方法的示例詳解
在?JavaScript?中,可以使用?sort()?方法對(duì)包含嵌套對(duì)象的數(shù)組進(jìn)行排序,本文將通過(guò)三個(gè)簡(jiǎn)單的示例為大家進(jìn)行簡(jiǎn)單的介紹,需要的可以參考下2024-03-03
JavaScript中正則表達(dá)式使數(shù)字、中文或指定字符高亮顯示
這篇文章主要介紹了JavaScript中正則表達(dá)式使數(shù)字、中文或指定字符高亮顯示,需要的朋友可以參考下2017-10-10
JavaScript保存并運(yùn)算頁(yè)面中數(shù)字類型變量的寫(xiě)法
這篇文章主要介紹了JavaScript保存并運(yùn)算頁(yè)面中數(shù)字類型變量的寫(xiě)法,當(dāng)你在頁(yè)面中需要不停運(yùn)算一個(gè)數(shù)字變量時(shí)非常有用,普通的寫(xiě)法不能正常運(yùn)算,使用本文方法就可以,需要的朋友可以參考下2015-07-07
D3.js中data(), enter() 和 exit()的問(wèn)題詳解
相信大多數(shù)人對(duì)D3.js并不陌生。這是一個(gè)由紐約時(shí)報(bào)可視化編輯 Mike Bostock與他斯坦福的教授和同學(xué)合作開(kāi)發(fā)的數(shù)據(jù)文件處理的JavaScript Library,全稱叫做Data-Driven Documents,在d3.js中data(), enter() 和 exit()比較常見(jiàn),下面給大家就這方面的知識(shí)給大家詳解2015-08-08
JavaScript之Getters和Setters 平臺(tái)支持等詳細(xì)介紹
現(xiàn)在,JavaScript的Getters和Setters使用非常廣泛,它和每個(gè)JavaScript開(kāi)發(fā)者的切身利益息息相關(guān),我們先來(lái)快速了解什么是Getters和Setters,以及它們?yōu)槭裁春苡杏?然后,我們來(lái)看看現(xiàn)在都有哪些平臺(tái)支持Gettets和Setters2012-12-12

