gpt4 book ai didi

c# - OxyPlot 实时数据系列绘图中的自动滚动/ Pane

转载 作者:太空狗 更新时间:2023-10-29 22:59:21 25 4
gpt4 key购买 nike

我在 C# winforms 应用程序中使用 OxyPlot。我的坐标轴是 LinearAxis 类型。

我正在尝试绘制一些实时数据,我已经设法通过向我的系列添加点并在数据可用时刷新绘图来完成这些数据。但是,我无法弄清楚如何使时间序列的情节向右移动。

每个时间序列数据点都有一个递增 (int) 1 的 X 值,我尝试使用 .Pan() 实现自动滚动,如下所示:

xAxis.Pan(-1);

显然这没有用,因为我假设该方法需要像素输入或其他东西,因此平移比数据增量慢得多。

我也曾尝试用 -MajorTIckSize 和 -MajorStepSize 替换 -1 但没有成功,因为这些通常都太小了。

我的问题是,我如何确定我需要用来平移真实数据的增量?我假设这将取决于缩放级别,显然如果它在我放大和缩小时继续工作会很好。我想解决方案涉及某种依赖于刻度间隔的像素宽度或其他东西的函数但我想不通。

PS:我问过this question也在 OxyPlot 讨论页面上

谢谢,

亚美尼亚人

最佳答案

感谢 decatf 发布我的问题的答案 here并说:

The Transform function in the Axis class will convert data coordinates to screen coordinates. There is an InverseTransform to do the opposite.

So you could try:

double panStep = xAxis.Transform(-1 + xAxis.Offset);
xAxis.Pan(panStep);

There is some offset from the axis zero position (I think?) so we need to account for that in the transform to get a unit step.

关于c# - OxyPlot 实时数据系列绘图中的自动滚动/ Pane ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21687084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com