我目前正在为我的公司做一个项目,我需要绘制高库存图表,显示我们主要建筑物的能源数据。
由于这是实时数据,每隔几秒钟就会有新的数据点出现在WebSocket上。然而,图表应该每小时只显示一个数据点。我想用highstock dataGrouping来清除这个问题,但它实际上并不起作用。它对数据点进行了分组,但仍然显示了数据点之间的“传输”,即图表线。因此,整个图表完全不可读。
在项目的另一个版本中,图形仅显示每组的最新数据点(如图表选项中的"近似”对象所指定),但在所选间隔运行后也不会开始新组。
我一直坐在这个问题上约3天,现在还没有找到任何适当的完全可行的解决方案。
不幸的是,由于公司政策和必要的挂钩和组件,这是只在这里使用的公司,我不能给予你一个jsfildle或类似的,即使我真的很想.我能做的是给你的配置,也许你发现有什么问题?
const options = {
plotOptions: {
series: {
dataGrouping: {
anchor: 'end',
approximation: function (groupData: unknown[]) {
return groupData[groupData.length - 1];
},
enabled: true,
forced: true,
units: [['second', [15]]],
},
marker: {
enabled: false,
radius: 2.5,
},
pointInterval: minutesToMilliseconds(30),
pointStart: currentWeekTraversed?.[0]?.[0],
},
},
}
这将是绘图选项。
如果你需要更多的信息,请告诉我。我会看看我能给你发些什么和怎样给你。
谢谢你的帮助。
1条答案
按热度按时间kqhtkvqz1#
这是dataGrouping如何处理实时数据的示例,请尝试重新创建您的案例,或者使用Highcharts React官方 Package 页面中的另一个演示。
演示:https://jsfiddle.net/BlackLabel/sr3oLkvu/