我需要我的图表中的点具有固定宽度(例如,每个100px)。如果所需空间超出图表的宽度,我只希望能够水平滚动(scrollbar.enabled
参数设置为true
)。
这是基本设置,不设置点宽:
如果我像这样设置列宽:
http://jsfiddle.net/wxxdne19/1/
tickPixelInterval
参数被忽略(当然是documentation says)。
我尝试了很多其他的东西,但是没有一个能够奏效,而且我的想法也用完了。我怎么能做我需要的呢?
为了澄清我需要的东西,把它想象成我有一个柱形图,我需要强制所有列都有一个固定的宽度。像这样:
但是,而不是相互重叠的列,我希望滚动条能够完成它的工作:-)此外,我需要它可以处理任何类型的系列(行,区域......),而不仅仅是列
答案 0 :(得分:1)
这里的解决方案似乎是手动计算极值并在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 px左右)。
API参考: https://api.highcharts.com/class-reference/Highcharts.Axis#setExtremes