[꼭대기] 데이터 구현 & 도표 플러그 인 Highcarts 소개 + 도표 연동 사례
10486 단어 JavaScript플러그 인Highcharts클릭 이벤트
, Highcharts , 、 、 、 、 js 。
Highcharts 소개
아래 의 소 개 는 Highcarts 중국어 망 Highcarts 에서 나 온 순수한 javascript 로 작 성 된 도표 라 이브 러 리 입 니 다. 웹 사이트 나 웹 응용 프로그램 에 상호작용 적 인 도 표를 간편 하 게 추가 할 수 있 습 니 다. Highcarts 는 현재 직선 도, 곡선 도, 면적 도, 기둥 모양 도, 떡 도, 산 점도 등 18 가지 서로 다른 유형의 도 표를 지원 하여 웹 도표 에 대한 모든 수 요 를 만족 시 킬 수 있 습 니 다!Highcarts 장점: 호환성 이 좋 고 오픈 소스, 순수 js, 도표 가 풍부 하고 동적 이 며 다 축 으로 내 보 내 고 인쇄 할 수 있 으 며 외부 데 이 터 를 확대 하고 불 러 오 는 것 을 지원 합 니 다.또한, Highcarts 의 실행 은 두 개의 JS 파일 이 필요 합 니 다. Highcarts. js 와 jQuery, MooTools, Prototype, Highcarts Standalone Framework 는 JS 프레임 워 크 중 하 나 를 자주 사용 합 니 다.
현재 Highcharts 에 도 중국어 사이트, 사이트 주소 가 있 습 니 다.http://www.hcharts.cn/ 여러분 의 학습 과 사용 을 편리 하 게 하지만 이 사이트 의 API 부분의 한 화 는 아직도 완선 되 고 있 으 며 여기 서 학습 하고 다운로드 할 수 있 습 니 다.사심 없 는 헌신 에 감 사 드 립 니 다.
Highcharts API
중국어 사이트 의 한 화 는 아직 완전 하지 않 지만 API 를 보면 Highcarts 중국어 망 에 가 는 것 을 추천 합 니 다. 상세 한 설명 과 인 스 턴 스 API 주소 가 있 습 니 다.http://www.hcharts.cn/api/index.php 참고 로 그의 검색 기능 은 확실히 매우 좋다.
프로젝트 인 스 턴 스
Highcarts 에는 여러 가지 도표 가 있 는데 사용 중의 각 도표 간 의 차이 가 크 지 않 습 니 다. 여기 서 저 는 대표 적 인 도 표를 따로 꺼 내 서 사례 로 하고 상세 한 주석 을 할 것 입 니 다. API 와 함께 읽 으 면 빠 른 입문 이 가능 할 것 입 니 다.이 동시에 저 는 두 개의 떡 그림 사이 에 설 치 된 연동 은 왼쪽 공급 업 체 의 분 포 를 기본적으로 보 여 줍 니 다. 이 떡 그림 의 일부분 을 클릭 할 때 오른쪽 에 이 공급 업 체 아래 모든 공장 의 분포 도 를 불 러 옵 니 다.
예:
//Supplier1_factory begin // ,
var SupChartMain = new Highcharts.Chart({
chart:{
renderTo:"sup1", // id div
type:"pie", //
height:298,
width:520,
margin:0,
plotBackgroundColor:null,//
plotBorderWidth:null,//
plotShadow:false,//
},
colors:['#e74c3c','#c0392b','#D35400','#E67E22','#bdc3c7','#95a5a6','#7f8c8d','#34495E','#2C3E50','#ecf0f1'],//
title:{//
text:'Please choose a supplier...'
},
credits:{// highcharts
enabled:false
},
tooltip:{// hover tip Order: ,
pointFormat: 'Order:{point.x}',
},
legend: { //
align:'left', //
layout: 'vertical', //
verticalAlign:'top', //
y:40,//
x:-20,
itemStyle:{//
fontWeight:'400',
color:'#666'
}
},
plotOptions:{
pie:{
allowPointSelect:true, //
animation:true, //
states:{
hover:{
brightness:0,
}
},
dataLabels:{ //
enabled:true, //
distance:-15, //
formatter:function(){ // y%
return this.y + '%';
},
style:{ //
fontWeight:"400",
color:"#fff",
fontSize:'11px'
}
},
events: { //
click: function(e) {
var sup_id = this.data[e.point.index].sup_id;//
draw_factory_coverage(SupplyChart.mydata,sup_id);// , , SupplyChart.mydata ,sup_id id
}
},
cursor: 'pointer', //
showInLegend: true, //
startAngle:0, //
endAngle:360, //
center:['50%', '50%'], //
}
},
series:[{
type:'pie',//
innerSize:'85%',// ,
data:[1]
}]
});
// ,
function draw_supplier_coverage(jdata_sups){
on_chart_load_complete(chart_factory_coverage_name);
if( jdata_sups.result != "success"){
alert("load inspector workload data failed");
return;
}
var sups= []; //
var orders = []; //
var total_order = 0; //
for(var i=0;i<jdata_sups.sups.length;i++){
var y = 0; //
for(var j=0;j<jdata_sups.sups[i].factorys.length;j++){
y+= jdata_sups.sups[i].factorys[j].orders;
}
orders[i] = y;
total_order+=y;
}
for(var i=0;i<jdata_sups.sups.length;i++){
var percent =Math.round( orders[i]*100/total_order );
sups[i] = {'name':jdata_sups.sups[i].sup_name,'x':orders[i],'y':percent,'sup_id':jdata_sups.sups[i].sup_id};
}
// , , series , series[0], 。
SupplyChart.series[0].setData(sups);
//
var pie_text = '<p style="color:#7f8c8d;font-size:62px;">' + total_order +'</p>'+
'<br/><p style="color:#999;font-size:20px;font-weight:normal;">Total<br/><span style="font-size:12px;color:#999;">(order)</pan></p>';
var pie_title = {'text':pie_text,align:"center",verticalAlign:"middle",y:10,};
SupplyChart.setTitle( pie_title);
// supplier 。 jdata_sups , ,
SupplyChart.mydata=jdata_sups.sups;
// , 。
draw_factory_coverage(SupplyChart.mydata,SupplyChart.mydata[0].sup_id);
}
위의 두 가지 예 를 들 어 저 는 상세 한 설명 을 했 습 니 다. 기본적으로 API 를 한 번 보고 다시 한 번 예 를 들 면 이 플러그 인 을 빨리 배 울 수 있 습 니 다.앞으로 필요 할 때 잊 어 버 리 고 돌아 보면 필요 한 친구 들 에 게 도 도움 이 되 었 으 면 좋 겠 습 니 다.
(●’ω’●) 丿❤
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.