C# 向ZedGraph添加点对象
ZedGraph有一个很好的扩展来打印标记/点()。但是,我在绘制图形上的点时遇到问题 当我调用ZedGraph.Invalidate()函数时,标记会立即绘制,但随后消失 在下面的代码中,变量zedGraph是表单UI上可见的图形对象C# 向ZedGraph添加点对象,c#,point,zedgraph,C#,Point,Zedgraph,ZedGraph有一个很好的扩展来打印标记/点()。但是,我在绘制图形上的点时遇到问题 当我调用ZedGraph.Invalidate()函数时,标记会立即绘制,但随后消失 在下面的代码中,变量zedGraph是表单UI上可见的图形对象 // Create point ZedGraph.PointObj point = new ZedGraph.PointObj(5, 10000, 50, 50, ZedGraph.SymbolType.Square, Color.Green); ZedG
// Create point
ZedGraph.PointObj point = new ZedGraph.PointObj(5, 10000, 50, 50, ZedGraph.SymbolType.Square, Color.Green);
ZedGraph.PaneBase paneBase = zedGraph.GraphPane;
point.Fill = new ZedGraph.Fill(Color.Green);
System.Drawing.Graphics graphics = zedGraph.CreateGraphics();
// Draw point to graph
point.Draw(graphics, paneBase, paneBase.CalcScaleFactor());
// Re-draw graph, but point only flashes momentarily.
zedGraph.Invalidate();
编辑:我意识到还有其他添加“点”的方法,如此处所述()。但是知道为什么这样做不起作用还是很好的。在创建后尝试将该点添加到GraphhobjList中
zedGraph.GraphPane.GraphObjList.Add(点) 我不太了解
PointObj
类,但是为什么需要调用zedGraph.Invalidate
?point.Draw
是否单独显示该点?我相信point.Draw会将点对象添加到图形对象中,然后使用.Invalidate使用当前包含的所有对象重新绘制图形。有图片吗?如果vanilla Zedgraph中存在相同的功能,为什么要使用pointsObj?没有图片对不起,这个问题很久以前就被问到了:-)但是,这是vanilla Zedgraph(PointObj是Zedgraph的一部分)。另一种方式更像是一种黑客,这似乎是添加点的正确方式。