Javascript HighCharts点范围平移宽度。这是HighCharts的错误还是我遗漏了什么?
我有一个结合了样条线和列的HighCharts图表。列数据定义单个Y值——表示单个列——并使用pointRange指示单个列所覆盖的X值范围。只要pointRange小于样条曲线数据中的最大X值,一切都正常。但是,当点范围大于样条曲线数据中的最大X值时,HighCharts会从根本上截断点范围,例如,从我想要的10000到大约4200,大约是最大X值的一半。标签也会从根本上向左移动,就好像该列对于小于0的X值具有显著范围,而我传递的数据中不存在这些值 (我想发布问题的快照,但我的声誉不足。) 这是HighCharts的错误,还是我遗漏了什么?贝耶斯当然建议后者,但我不能确定我遗漏了什么。因此,这一要求的神 这里有一把小提琴说明了我的问题:如果你把pointRange从10000改为8000,你可以看到我预期的结果,尽管列稍微小一些 以下是我的代码,为了简洁起见,省略了很多数据:Javascript HighCharts点范围平移宽度。这是HighCharts的错误还是我遗漏了什么?,javascript,highcharts,Javascript,Highcharts,我有一个结合了样条线和列的HighCharts图表。列数据定义单个Y值——表示单个列——并使用pointRange指示单个列所覆盖的X值范围。只要pointRange小于样条曲线数据中的最大X值,一切都正常。但是,当点范围大于样条曲线数据中的最大X值时,HighCharts会从根本上截断点范围,例如,从我想要的10000到大约4200,大约是最大X值的一半。标签也会从根本上向左移动,就好像该列对于小于0的X值具有显著范围,而我传递的数据中不存在这些值 (我想发布问题的快照,但我的声誉不足。) 这
$(function () {
$('#container').highcharts({
title: {
text: 'pointRange is too small'
},
yAxis: {
min: 0,
max: 1
},
xAxis: {
min: 0
},
legend: {
enabled: false
},
credits: {
enabled: false
},
series: [{
data: [
[0, 1],
[215, 1],
// middle of spline data omitted for brevity
[8189, 0.007198560287942413],
[8404, 0],
[8620, 0]
],
type: 'spline',
marker: {
enabled: false
},
zIndex: 1
}, {
data: [0.5],
type: 'column',
pointInterval: 10000,
pointPadding: 0.01,
groupPadding: 0,
borderWidth: 0,
shadow: false,
pointPlacement: 'between',
pointRange: 10000,
zIndex: 0,
minPointLength: 3,
dataLabels: {
enabled: true,
inside: true,
color: 'white',
formatter: function () {
return 'Misplaced'
}
}
}]
})
})
(你可能想知道为什么我的柱状图只有一列?我的图表通常有更多的列。对于特定的数据组合,这一列是一种病理情况。但是,尽管有病理情况,我还是希望它能够正确显示。)你不能将xAxis max设置为10500吗?这不允许列扩展到10k吗?似乎Highcharts不允许点范围大于
x
中的最大值或minRange
值
您可以通过执行以下操作来解决此问题:
$(function () {
$('#container').highcharts({
title: {
text: 'pointRange is too small'
},
yAxis: {
min: 0,
max: 1
},
xAxis: {
min: 0,
minRange: 10000
//^^^^^^^^^^^
},
legend: {
enabled: false
},
credits: {
enabled: false
},
series: [{
data: [
[0, 1],
[215, 1],
// middle of spline data omitted for brevity
[8189, 0.007198560287942413],
[8404, 0],
[8620, 0]
],
type: 'spline',
marker: {
enabled: false
},
zIndex: 1
}, {
data: [0.5],
type: 'column',
pointInterval: 10000,
pointPadding: 0.01,
groupPadding: 0,
borderWidth: 0,
shadow: false,
pointPlacement: 'between',
pointRange: 10000,
zIndex: 0,
minPointLength: 3,
dataLabels: {
enabled: true,
inside: true,
color: 'white',
formatter: function () {
return 'Misplaced'
}
}
}]
})
})
既然您将pointInterval
设置为10000,我想您可以对minRange
值执行相同的操作