我想用Highcharts创建一个带有负值的图表,如下所示:
http://jsfiddle.net/vargapeti/LjL03o8h/3/
$(function () {
$('#container').highcharts({
chart: {
type: 'areaspline'
},
title: {
text: 'Area chart with negative values'
},
yAxis: {
title: {
text: 'value'
}
},
plotOptions: {
area: {
dataLabels: {
enabled: true
},
stacked: 'normal'
}
},
series: [{
name: 'Area with negative values',
data: [[0, -7.0], [1, 6.9], [1.5, 9.5], [3, -6]],
fillColor : {
linearGradient : [0, 0, 0, 300],
stops : [
[ 0, Highcharts.Color('#FFA500').setOpacity(1).get('rgba') ],
[ 1, Highcharts.Color('#ffffff').setOpacity(0.3).get('rgba') ]
]
}
},
{
name: 'Area with positive values',
data: [[0, 13.0], [1, 26.9], [1.5, 29.5], [3, 14]],
fillColor : {
linearGradient : [0, 0, 0, 300],
stops : [
[ 0, Highcharts.Color('#d2d8df').setOpacity(1).get('rgba') ],
[ 1, Highcharts.Color('#ffffff').setOpacity(0.3).get('rgba') ]
]
}
}
],
});
});
然而,我需要橙色区域始终在X轴和曲线之间,而不管负值。所以基本上我想将曲线“具有正值的区域”移动到零以下,但保持填充区域在曲线下方。
无论如何都可以使用Highcharts吗?
谢谢。
答案 0 :(得分:2)
答案 1 :(得分:1)
只需为areaspline系列设置threshold: null
即可。例如:http://jsfiddle.net/LjL03o8h/6/
plotOptions: {
area: {
threshold: null
}
}
答案 2 :(得分:0)
只需检查this answer,它可能会对您有所帮助。另外,由于您在同一系列中都具有负片正片,因此您可能需要检查this和this。