我想使用Highcharts StockChart库来制作图表。以下是我需要创建的图表的更多信息:
datetime
所以,我正在使用当天下午3:00设置的max
属性设置在图表的x轴上。有了这个,我可以:
一切正常,直到午休时间(上午11:40)。但是,在下午12:35(午休后)接收数据时,图表将忽略max
属性,并且绘制的x轴的最后一行直到下午1点(此行需要绘制到下午3点) 。我认为这是因为直到上午11点40分才出现5分钟的所有数据,因此图表了解需要绘制数据的时间间隔,并且可以在相同的时间间隔上绘制x轴线。但是一旦数据存在差距,图表就不知道数据是否会在5分钟的时间间隔内出现,所以只考虑到目前为止收到的所有数据,忽略{{1属性。
为了解决这个问题,我尝试了不同的选择:
max
属性设置为false。有了这个,我可以解决丢失的x轴标签问题,直到下午3点,但问题是午休时间在图表上会有间隙。我需要合并午休时间并将x轴标签绘制到下午3点。ordinal
属性,并且能够设置x轴的间隔,但仅适用于正在绘制的数据。但是,x轴标记它直到下午1点,需要到下午3点。tickInterval
属性进行午休,同时将breaks
属性设置为false但不起作用。此外,图表需要在午休时间合并;使用此属性会故意产生差距,因此此属性不会帮助我解决此问题。所以,我注意到在有数据的地方正确地改变了间隔,但是没有在x轴上没有数据的地方绘制线条(直到下午1点而不是直到下午3点)。如果我使用ordinal
属性,它将显示缺失数据的所有x轴线,但需要隐藏午休时间的间隙。
对此有任何帮助表示赞赏=)
更新:
我注意到,当仍然没有数据时,如果使用v1.3.1 of highcharts(我正在使用的那个),x轴线正在被正确绘制,直到下午3点,但是如果使用最新版本,则不会发生。似乎最新版本忽略了ordinal
属性。
在评论中包含我的代码的jsfiddle链接(因为stackoverflow不允许我发布许多链接,因为没有足够的声誉)。
答案 0 :(得分:0)
我能够实现我想要的目标。最后我做的是创建空数据以填补午休时间。此外,我为剩余数据创建了空数据,直到下午3点,这样就可以正确绘制x轴线:https://jsfiddle.net/K4Cj6/201/:
window
非常感谢大家=)