我对Highcharts
完全不熟悉,我制作了两种类型:spline
和pie
。他们现在看起来像这样:
我可以立即看到我遇到的问题。由于我有两个按钮,用户可以确定他希望他的图表显示的方式:
我成功更新了图表类型:
$('#pie').click(function(){
if($('#pie').hasClass('active')!=true){
$('#spline').removeClass('active');
$('#pie').addClass('active');
$('#curve_chart').highcharts().series[0].update({
type: "pie"
});
}
});
但我不希望这个pie
图表看起来像这样。我希望,就像在spline
类型中,值代表每一天,而不是Notiflow:35
等。这是负责图表的代码:
var type='';
$('#spline').click(function(){
if($('#spline').hasClass('active')!=true){
$('#pie').removeClass('active');
$('#spline').addClass('active');
$('#curve_chart').highcharts().series[0].update({
type: "spline"
});
}
});
$('#pie').click(function(){
if($('#pie').hasClass('active')!=true){
$('#spline').removeClass('active');
$('#pie').addClass('active');
$('#curve_chart').highcharts().series[0].update({
type: "pie"
});
}
});
$(function () {
if($('#spline').hasClass('active')){
type='spline';
}else{
type='pie';
}
$('#curve_chart').highcharts({
chart: {
type: type
},
title: {
text: 'Click through rate:'
},
xAxis: {
categories: [<?php foreach ($percentagePerDay as $key => $value) {
if ($value != $last) {
echo substr($key, -2);
echo ',';
} else {
echo substr($key, -2);
}
}?>]//key
},
yAxis: {
title: {
text: 'Percentage'
}
},
series: [{
name: '<?= $name ?>',
data: [<?php foreach ($percentagePerDay as $key => $value) {
if ($value != $last) {
echo $value;
echo ',';
} else {
echo $value;
}
}?>]//value
}]
});
});
我尝试使pie
图表代表硬编码值,如下所示:
$('#pie').click(function(){
if($('#pie').hasClass('active')!=true){
$('#spline').removeClass('active');
$('#pie').addClass('active');
$('#curve_chart').highcharts().series[0].update({
type: "pie"
series:[{
data:[['11',35],['12',15],['13',30],['14',20]]
}]
});
}
});
}
});
但是pie
高图并没有改变。我还需要添加到此行(type
除外):
$('#curve_chart').highcharts().series[0].update({});
我的pie
代表spline
范围内的每一天的值,并删除那些“切片”时刻?
答案 0 :(得分:0)
更新系列时o不在对象中传递系列 - 仅限系列属性,如名称,类型,数据等。要在图像中使用dataLabels
,您只需要为点设置名称,Highcharts将使它有效。