重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
当我们使用highcharts做这样的图是不是很老火,其实开始我感觉很麻烦。但是官网上有demo,虽然只有很小一部分。基本百度一下就可以找到加入曲线。其实就是
创新互联是一家专业提供天桥企业网站建设,专注与成都网站设计、做网站、成都外贸网站建设公司、H5响应式网站、小程序制作等业务。10年已为天桥众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
serese
的数据,只是加入type属性就更改成你想要的。下面那个table你可以使用table加入jquery实现就ok了
$(function
()
{
$('#container').highcharts({
chart:
{
type:
'column'
},
title:
{
text:
'Stacked
column
chart'
},
xAxis:
{
gridLineWidth:1,
plotOptions:
{
column:
{
pointPadding:
0.2,
pointWidth:
30
//柱子的宽度30px
}
},
//tickPixelInterval:100,
categories:
['Apples',
'Oranges',
'Pears',
'Grapes',
'Bananas']
},
yAxis:
{
tickPositions:
[0,
100,
200,
300,
400,500],//设置刻度
min:
0,
title:
{
text:
'Total
fruit
consumption'
},
stackLabels:
{
enabled:
true,
style:
{
fontWeight:
'bold',
color:
(Highcharts.theme
Highcharts.theme.textColor)
||
'gray'
}
}
},
legend:
{
align:
'right',
x:
-100,
verticalAlign:
'top',
y:
20,
floating:
true,
backgroundColor:
(Highcharts.theme
Highcharts.theme.legendBackgroundColorSolid)
||
'white',
borderColor:
'#CCC',
borderWidth:
1,
shadow:
false
},
tooltip:
{
formatter:
function()
{
return
'b'+
this.x
+'/bbr/'+
this.series.name
+':
'+
this.y
+'br/'+
'Total:
'+
this.point.stackTotal;
}
},
plotOptions:
{
column:
{
stacking:
'normal',
pointWidth:
30
,
//柱子的宽度30px
dataLabels:
{
enabled:
true,
color:
(Highcharts.theme
Highcharts.theme.dataLabelsColor)
||
'white'
}
}
},
series:
[{
color:'#F2BE20',
name:
'John',
data:
[50,
30,
40,
70,
20]
},
{
color:'#F8FB23',
name:
'Jane',
data:
[20,
20,
30,
20,
10]
},
{
color:'#E9070B',
name:
'Joe',
data:
[30,
40,
40,
20,
50]
},{type:
'line',
name:
'John',
data:[{
name:
'John',
y:
50
},
{
name:
'John',
y:
30
},
{
name:
'John',
y:
40
},{
name:
'John',
y:
70
},{
name:
'John',
y:
20
}
]},
{type:
'line',
name:
'Joe',
data:[{
name:
'Joe',
y:
30
},
{
name:
'Joe',
y:
40
},
{
name:
'Joe',
y:
40
},{
name:
'Joe',
y:
20
},{
name:
'Joe',
y:
50
}
]},
{type:
'line',
name:
'Jane',
data:[{
name:
'Jane',
y:
20
},
{
name:
'Jane',
y:
20
},
{
name:
'Jane',
y:
30
},{
name:
'Jane',
y:
20
},{
name:
'Jane',
y:
10
}
]}
]
});
});
/script
这个要用到抛物线函数,不过别费那劲,给你找个了插件,参考下就知道了。
路径滚动动画插件 jQuery Scroll Path
提供一个思路,仅供参考:
假设你用的是animate,再假设你是通过改变"运动块"的left值和top值来实现运动的。
那么,既然是曲线,就会有公式。假如一个抛物线的公式:x2=-2py(x0)
那么,你就可以写一个循环,定义一个变量来表达left和top值,直到到达指定位置,循环结束。示例代码:
while($top900){
$left=-sqrt(-2p*$top);
$('.div').animate({left:$left,top:$top},100);
}
这是根据上面假设的抛物线公式确定的。不知道你是否能看懂。