在几个NPlots或替代解决方案上绘制单一指南

时间:2010-02-08 15:31:10

标签: c# .net drawing signals charts

我正在使用NPlot图表库绘制几个说明信号波动的图表。这些图在flowlayoutpanel1中一个接一个地插入。 x轴是时间。 y是信号的值。 我在底部沿x轴添加了一个轨迹栏。当用户移动轨迹栏时,每个信号的值都会显示在某处(与轨迹栏的位置有关)。

所有这一切都已经发挥作用。

我被要求添加一些视觉方式来说明轨迹栏的精确时间。他们希望某种垂直线能够与轨迹杆一起在所有Nplots上移动。然而,他们对替代方案持开放态度。

我尝试绘制线条,但很难根据轨迹栏的位置进行绘制。它也最终被绘制在Nplots之后。

我也尝试在流动面板上画一个静态网格,但Nplots不透明,我的老板不喜欢每个情节都有一个单独的网格用于审美目的。

此时我对任何“开箱即用”的建议或对我的实施的更正持开放态度。我在C#自学,所以我之前没有做过这样的事。

请帮忙!

编辑:通过使用带有边框的标签,将其拉伸为高并且宽度为1,我得到了一些稍微好一些的东西。这会创建一条覆盖所有其他控件的Line。现在我最大的挑战是计算轨迹栏指针的位置,使线条匹配......

1 个答案:

答案 0 :(得分:0)

经过大量的摆弄后,我发现在所有其他控件上画一条线的唯一方法是不使用图形画线,因为放在顶部的控件不透明,我无法访问它们的图形组件(是一个导入的控件而不是.NET类。)

我最终选择了EDIT解决方案,带了一个带边框的标签并将宽度设置为1,创建了一个简单的线而不是一个盒子。

位置公式进行了大量的微调,要走的路是计算(估计)两个轨迹栏刻度之间的宽度,为控制本身增加一个微小的偏移量。使用traback的指针Value属性,我可以计算标签/行的位置,使其跟随轨迹栏指针。有时形成微小的偏移,但肉眼看不到。