TeeChart 2017:尽管设置,FastLine AddRealTime 自动缩放底轴
TeeChart 2017: FastLine AddRealTime auto scales bottom axis despite settings
TeeChart 组件有一个名为 IFastLineSeries
的图表系列。
它允许绘制简单的 "line type" 图表。
它的接口提供了一个名为 AddRealTime
的方法,与更通用的 AddXY
方法相比,这是一种向图表添加数据的更快方法。
但是 AddRealTime
有一些未记录的副作用:
- 当数据几乎 "overflows" 视图时,它将图表向左滚动(为新数据腾出空间)
- 它可以调整底轴(X轴范围)以适应所有数据这样做
第一个功能在很多情况下都是合理的行为:例如,您希望在收到最新过程测量值时继续显示它们。
但是,在我的例子中,底部(X 轴)的自动缩放已关闭。 IMO 它不应该触及缩放设置!但确实如此。
第二个功能更糟糕:自动滚动后,控件确保所有信息都在视图中。这会减慢应用程序的速度,因为您可能已经在快速线系列中积累了大量数据,然后所有这些数据都必须被渲染...击败了方法背后的 "is faster" 理念...
我对滚动没有意见,但对自动 'zoom out X' 操作不满意。
有没有人设法让 AddRealTime
在没有它的情况下工作,或者除了退回到较慢的 AddXY
函数之外别无选择?
我知道我必须自己调整底轴才能达到类似的滚动效果,但至少不会意外缩小。
备注:
- steema软件好像知道这个问题,ticket
TA05011024
.
- 他们的支持论坛列出了相似但不相同的问题:
您可以通过以下方式控制您描述的行为:
您可以使用 Series.AddXY 来避免任何 AddRealtime 的自动行为;但无论如何您也可以继续使用 AddRealtime 并使用您自己的轴的 SetMinMax 修改行为以将数据滚动到左侧,这样可以在图表中保持相同数量的显示点。
此处的演示就是这样做的,并解决了您的问题。
Github VB TeeChart Add Realtime demo project
TeeChart 组件有一个名为 IFastLineSeries
的图表系列。
它允许绘制简单的 "line type" 图表。
它的接口提供了一个名为 AddRealTime
的方法,与更通用的 AddXY
方法相比,这是一种向图表添加数据的更快方法。
但是 AddRealTime
有一些未记录的副作用:
- 当数据几乎 "overflows" 视图时,它将图表向左滚动(为新数据腾出空间)
- 它可以调整底轴(X轴范围)以适应所有数据这样做
第一个功能在很多情况下都是合理的行为:例如,您希望在收到最新过程测量值时继续显示它们。
但是,在我的例子中,底部(X 轴)的自动缩放已关闭。 IMO 它不应该触及缩放设置!但确实如此。
第二个功能更糟糕:自动滚动后,控件确保所有信息都在视图中。这会减慢应用程序的速度,因为您可能已经在快速线系列中积累了大量数据,然后所有这些数据都必须被渲染...击败了方法背后的 "is faster" 理念...
我对滚动没有意见,但对自动 'zoom out X' 操作不满意。
有没有人设法让 AddRealTime
在没有它的情况下工作,或者除了退回到较慢的 AddXY
函数之外别无选择?
我知道我必须自己调整底轴才能达到类似的滚动效果,但至少不会意外缩小。
备注:
- steema软件好像知道这个问题,ticket
TA05011024
. - 他们的支持论坛列出了相似但不相同的问题:
您可以通过以下方式控制您描述的行为:
您可以使用 Series.AddXY 来避免任何 AddRealtime 的自动行为;但无论如何您也可以继续使用 AddRealtime 并使用您自己的轴的 SetMinMax 修改行为以将数据滚动到左侧,这样可以在图表中保持相同数量的显示点。
此处的演示就是这样做的,并解决了您的问题。 Github VB TeeChart Add Realtime demo project