我最近在HighStock遇到了一个奇怪的问题。
首先,这是我的代码http://jsfiddle.net/woon123/br0e8mkw/
$(document).ready(function () {
Highcharts.setOptions({
global: {
useUTC: false
}
});
$('#analytics_line').highcharts('StockChart', {
credits: {
enabled: false
},
title: {
text: 'Analytics of Deals'
},
subtitle: {
text: 'View Count and Redemption Count'
},
rangeSelector: {
allButtonsEnabled: true,
buttons: [{
type: 'month',
count: 3,
text: 'Day',
dataGrouping: {
forced: true,
units: [
['day', [1]]
]
}
}, {
type: 'year',
count: 1,
text: 'Week',
dataGrouping: {
forced: true,
units: [
['week', [1]]
]
}
}],
buttonTheme: {
width: 60
},
},
yAxis: {
floor: 0,
title: {
text: 'Number'
}
},
plotOptions: {
dataLabels: {
visible: true
},
series: {
compare: 'value'
}
},
tooltip: {
pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>',
valueDecimals: 2
},
legend: {
enabled: true,
align: 'right',
backgroundColor: '#FCFFC5',
borderColor: 'black',
borderWidth: 2,
layout: 'vertical',
verticalAlign: 'top',
y: 100,
shadow: true
},
series: [{
id: "First Graph",
name: "First Graph",
pointStart: 1444060800000.0,
pointInterval: 24 * 3600 * 1000,
data: [20, 23, 23, 23, 23, 23, 23, 23, 23, 23],
}, {
id: "Second Graph",
name: "Second Graph",
pointStart: 1444060800000.0,
pointInterval: 24 * 3600 * 1000,
data: [9, 12, 16, 16, 16, 16, 16, 16, 16, 16],
}, ]
}, function (chart) {
// apply the date pickers
setTimeout(function () {
$('input.highcharts-range-selector', $(chart.container).parent())
.datepicker();
}, 0);
});
// Set the datepicker's date format
$.datepicker.setDefaults({
dateFormat: 'yy-mm-dd',
onSelect: function () {
this.onchange();
this.onblur();
}
});
});
在这种情况下,根据数据,第一图表假设在第二图表之上。比较系列时,First Graph值始终高于Second Graph。
但是,绘制的图形实际上会导致First Graph低于第二个图形,但是当您将鼠标悬停在线条上时,它会给出正确的值。
此外,First Graph假设从20开始,但是你可以看到它从0开始,Y轴值也是错误的(0-2.5-5)
但是,所有这些错误都可以通过在数据开头放置0来解决。
对于第一个图的情况,它是[0,20,23,23,23,23,23,23,23,23,23],第二个图是[0,9,12,16,16, 16,16,16,16,16,16]。
任何人都可以建议为什么会这样,并且可能提供一个解决方案,允许我的数据以正整数开始而不是0
答案 0 :(得分:2)
取出plotOptions,series
上的比较series: {
compare: 'value'
}
小提琴:http://jsfiddle.net/br0e8mkw/2/
来自API:http://api.highcharts.com/highstock#plotOptions.series.compare
将系列的值与可见范围中的第一个值进行比较。 y轴将显示百分比或绝对变化,具体取决于比较是否设置为&#34;百分比&#34;或&#34;价值&#34;。当这适用于多个系列时,它允许将系列的开发相互比较。默认为undefined。