如何在ZedGraph中同步三个GraphPane?

时间:2013-04-14 07:02:07

标签: c# zedgraph

使用 ZedGraph 在三张GraphPane上显示六张图,如第一张图所示,所有图表都是同步的。但是,当我尝试显示第一个窗格的日期时,图表不同步,如第二张图所示。重要的是所有六个图表保持同步,以便用户理解整个图表。

我已根据tmwoods here的建议尝试了XAxis.Type = AxisType.Date,并能够沿X轴显示日期。沿X轴的日期时间可以是分钟/秒,例如从上午9:00到下午4:00也可以是天数,例如表格28/1/2009到25/11/2012

Picture-1

Picture-2

2 个答案:

答案 0 :(得分:1)

好的,我想我明白了。尝试将其添加到您的代码中:

pane1.Chart.Rect = new RectangleF (pane2.Chart.Rect.X,
            pane2.Chart.Rect.Y,
            pane2.Chart.Rect.Width,
            pane2.Chart.Rect.Height);

我一直在偷看,Zedgraph支持名为Graph Align的内容,但我找不到任何地方的来源。我找到的最近的是here;看看最底层的例子。它描述了如何垂直对齐多个不同大小的图表。但我还没有测试过。

答案 1 :(得分:1)

接受的答案是正确的并且有效,但是,ZedGraph有一个内置功能,可以使所有轴保持同步:

zgc.IsSynchronizeXAxes = true; // This keeps X axes min and max in sync
zgc.IsSynchronizeYAxes = true; // This keeps Y axes min and max in sync
zgc.MasterPane.IsCommonScaleFactor = true // This will ensure a common Scale is applied to all graphPanes axes.

以下是IsCommonScaleFactorIsSynchronizeXAxes or IsSynchronizeYAxes样本。