我有一个包含两个列系列的Highcharts图表,每个列都有一个数据点。红色系列由黄色系列背后(部分遮挡),如预期的那样。每个系列都有一个pointRange:红色列为3000,黄色列为10000。正如您在下面看到的那样,红色列实际上是3000宽,但是黄色列被绘制为10000,可能是6500.
小提琴:http://jsfiddle.net/Bridgeland/aRHWw/
由于xAxis.max,黄色列可能太小,设置为9000.当我将此最大值更改为12000时,黄色列更正为10000宽,但红色列突然向右跳跃,从跨越0-如你所见,3000到3500-6500。
有没有办法让红色和黄色列都具有正确的宽度,并且还要让它们从0开始,即左对齐到Y轴?为什么Highcharts会这样做,我该如何控制呢?
$(function () {
$('#container').highcharts({
chart: {
alignTicks: false
},
title: {
text: ""
},
yAxis: {
min: 0,
max: 1
},
xAxis: {
min: 0,
endOnTick: false,
max: 9000
},
legend: {
enabled: false
},
credits: {
enabled: false
},
plotOptions: {series: {grouping: false}},
series: [
{
data: [
1],
type: "column",
pointPadding: 0,
groupPadding: 0,
color: "red",
pointRange: 3000,
borderWidth: 0,
shadow: false,
pointPlacement: "between",
zIndex: 0,
minPointLength: 3
}, {
data: [
0.5],
type: "column",
pointPadding: 0,
groupPadding: 0,
color: "yellow",
pointRange: 10000,
borderWidth: 0,
shadow: false,
pointPlacement: "between",
zIndex: 1,
minPointLength: 3
}]
})
})
答案 0 :(得分:1)
据我了解,pointPlacement: 'between'
正在“告诉”图表在其分隔刻度之间绘制列。因此,如果您将其设置为on
,它将在“滴答”的“顶部”将其绘制为零。由于pointRange
为pointStart
为3000,因此您最终将以1500为零,因此您必须将其填充到右侧,将{
data: [1],
type: "column",
pointPadding: 0,
groupPadding: 0,
color: "red",
pointStart: 1500,
pointRange: 3000,
borderWidth: 0,
shadow: false,
pointPlacement: 'on',
zIndex: 0,
minPointLength: 3
}
设置为1500。
然后必须将“红色”系列定义为:
{{1}}