我需要图表的点具有固定宽度(例如,每个点 100 像素)。如果所需的空间超过图表的宽度,我只想能够水平滚动(将 scrollbar.enabled
参数设置为 true
)。
这是基本设置,没有设置点宽度:
如果我这样设置列宽:
http://jsfiddle.net/wxxdne19/1/
tickPixelInterval
参数被忽略(当然是 documentation says )。
我尝试了很多其他的东西,但没有一个奏效,而且我的想法也用完了。我怎样才能做我需要的事?
更新
为了阐明我的需要,将其想象成我有一个柱形图,我需要强制所有列具有固定的宽度。像这样:
但是,我希望滚动条能够完成它的工作,而不是相互重叠的列 :-) 此外,我需要它来处理任何类型的系列(线、区域......),而不仅仅是列.
最佳答案
这里的解决方案似乎是手动计算极值并将它们设置在 load
事件中:
load: function() {
var chart = this,
xAxis = this.xAxis[0],
visibleColumns = (xAxis.width - pointWidth) / pointWidth;
xAxis.setExtremes(pointStart, pointStart + pointInterval * visibleColumns);
}
现场演示: http://jsfiddle.net/kkulig/mpancrbc/
由于某些原因(可能是错误)xAxis.min
值必须在容器宽度较小时初始化(在我的示例中小于 400 像素左右)。
API 引用: https://api.highcharts.com/class-reference/Highcharts.Axis#setExtremes
关于Highcharts - 高库存 : fixed width intervals with scrollbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47726634/