goodman原生js实现自定义雷达图效果代码
代码语言:html
所属分类:图表
代码描述:goodman原生js实现自定义雷达图效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<style>
body{
background-color: #292929;
}
.tab{
margin-top: 50px;
background-color: #fff;
font-size: 15px;
margin-left: 50%;
transform: translateX(-50%);
display: inline-block;
box-sizing: border-box;
}
.tab_header{
position: relative;
background: url('//repo.bfw.wiki/bfwrepo/image/5e5ef0b278727.png');
background-size:cover;
}
.tab_header a{
width: 64px;
height: 64px;
position: absolute;;
left: 50%;
top: 50%;
margin-left: -32px;;
margin-top: -30px;
display: block;
z-index: 1;
background-size: 100%;
}
.tab_header>a>img{
width: 100%;
height: 100%;
display: block;
}
.tab_main{
padding: 5px 10px;
box-sizing: border-box;
}
.tab_main>p{
color: #848484;
box-sizing: border-box;
}
#controlBar{
}
#myCanvas{
margin: 0 auto;
}
input{
width: 100px;
border: none;
background-color: #eee;;
padding: 5px;
}
#controlBar label{
margin: 0 10px;
}
#controlBar div{
padding: 5px;
}
.tab_main button{
width: 100%;
margin: 10px 0;
}
</style>
</head>
<body>
<div class="tab">
<div class="tab_header">
<canvas id="myCanvas"></canvas>
</div>
<div class="tab_main">
<h3>修改值来查看实时效果:</h3>
<div id="controlBar"></div>
<button id="load">加载</button>
</div>
</div>
<script >
(function(){
class Radar{
fontSyle="12px Arial";
speed = 2;
startVal = 0;
maxValue = 80;
textColor = "rgba(255,255,255,1)";
background={
rect:[
{
color:"rgba(56,60,63,0.4)",
size:80,
},
{
color:"rgba(115,115,116,0.3)",
size:75,
},
],
circle:[
{
color:"rgba(66,139,234,0.1)",
size:4
},
{
color:"rgba(66,139,234,1)",
size:2
}
]
}
customizeBackground = (data)=>{
this.background = data;
}
setFontStyle = (fontSyle)=>{
this.fontSyle = fontSyle.style;
this.textColor = fontSyle.color;
}
setContextSize = (width,height)=>{
this.el.width=width;
this.el.height=height;//设置好canvas的宽高
this.c= {x:width/2,y:height/2};
}
setIndex = (index)=>{
this.index = index;
}
getIndex = function(){
return this.index;
}
constructor(options){
this.index = options.data;
this.el = document.querySelector(options.el);
this.ctx = this.el.getContext("2d");
this.maxValue = options.size;
}
};
Radar.prototype.solveEquations=function(tan,isRight,val){ //解出x位置
var sec2=Math.pow(tan,2)+1;
var b2 = 4*Math.pow(sec2,2)*Math.pow(this.c.x,2) ;
var ac4 = 4*sec2*(sec2*Math.pow(this.c.x,2)-Math.pow(val,2))
var delta =b2 - ac4;
.........完整代码请登录后点击上方下载按钮下载查看
网友评论0