如何使用 C# 在双 Y 轴 ZedGraph 图中添加实时数据?
对于我的项目,我需要向双 y 轴图添加和更新实时数据。 Y 和 Y2 值共享相同的 X 值,并且我已经创建了它。现在我有一个函数可以将新的点对添加到曲线列表中。
这是我的问题:我的 Y 和 Y2 值始终添加到第一条曲线的曲线列表中。如何将 Y2 值添加到图表中的第二个曲线列表中?
这是我的功能代码:
private void AddDataToGraph(ZedGraphControl zg1, XDate xValue, double yValue1, double yValue2)
{
// Make sure that the curvelist has at least one curve.
if (zg1.GraphPane.CurveList.Count <= 0)
return;
// Get the first CurveItem in the graph.
LineItem curve = zg1.GraphPane.CurveList[0] as LineItem;
if (curve == null)
return;
// Get the PointPairList.
IPointListEdit list = curve.Points as IPointListEdit;
IPointListEdit list2 = curve.Points as IPointListEdit;
// If this is null, it means the reference at curve.Points does not
// support IPointListEdit, so we won't be able to modify it.
if (list == null || list2 == null)
return;
// Add new data points to the graph.
list.Add(xValue, yValue1);
list2.Add(xValue, yValue2);
// Force redraw.
zg1.Invalidate();
}
如何将 Y2 值添加到第二条曲线列表中?
For my project, I need to add and update real-time data to my dual y-axis graph. The Y and Y2 values share the same X value, and I created it already. Now I have a function that adds the new point pairs to the curve lists.
Here is my problem: My Y and Y2 values are always added to the curve list of the first curve. How can I get the Y2 value added to the second curve list in my graph?
Here is my function code:
private void AddDataToGraph(ZedGraphControl zg1, XDate xValue, double yValue1, double yValue2)
{
// Make sure that the curvelist has at least one curve.
if (zg1.GraphPane.CurveList.Count <= 0)
return;
// Get the first CurveItem in the graph.
LineItem curve = zg1.GraphPane.CurveList[0] as LineItem;
if (curve == null)
return;
// Get the PointPairList.
IPointListEdit list = curve.Points as IPointListEdit;
IPointListEdit list2 = curve.Points as IPointListEdit;
// If this is null, it means the reference at curve.Points does not
// support IPointListEdit, so we won't be able to modify it.
if (list == null || list2 == null)
return;
// Add new data points to the graph.
list.Add(xValue, yValue1);
list2.Add(xValue, yValue2);
// Force redraw.
zg1.Invalidate();
}
How can he Y2 values be added to the 2nd curve list?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我自己找到了一个可能的解决方案。以下是我的代码更改:
重要的是使用“CurveList[i]”中的索引。因此,[0] 是我的 Y 值曲线,[1] 是我的 Y2 值曲线,依此类推。
我希望这可以帮助任何有相同或类似问题的人。
Found a possible solution myself. Here are my code changes:
The important thing is to use the index in the "CurveList[i]". So [0] is my curve with the Y values and [1] is my curve with the Y2 values, and so on.
I hope this helps anybody who has the same or similar problem.
这是上面的“更好”的实现:
Here's a "nicer" implementation of above: