C# 如何同步三个GraphPane';ZedGraph里有什么?

C# 如何同步三个GraphPane';ZedGraph里有什么?,c#,zedgraph,C#,Zedgraph,当使用ZedGraph在第一张图片中所示的三个GraphPane上显示六个图形时,所有图形都是同步的。但是,当我试图显示第一个窗格的日期时,图表不同步,如第二张图片所示。重要的是,所有六个图形保持同步,以便用户理解整个图表 我已经按照建议尝试了XAxis.Type=AxisType.Date,并且能够沿X轴显示日期。X轴上的日期时间可以是分/秒,例如从上午9:00到下午4:00,也可以是天,例如从2009年1月28日到2012年11月25日 好的,我想我明白了。尝试将此添加到代码中: pane

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

我已经按照建议尝试了XAxis.Type=AxisType.Date,并且能够沿X轴显示日期。X轴上的日期时间可以是分/秒,例如从上午9:00到下午4:00,也可以是天,例如从2009年1月28日到2012年11月25日


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

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

我四处查看,发现
Zedgraph
支持名为
Graph Align
的东西,但我在任何地方都找不到它的源代码。我发现最接近的是;查看最下面的示例。它描述了如何垂直对齐多个varyng大小调整图表。但是我还没有测试出来。

公认的答案是正确的,并且可以工作,但是,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.

这是一个图表和一个示例。

您能在所有三个图表上使用相同的比例吗?我的意思是这三个屏幕上都显示了日期。我唯一的另一个想法是将后两个图表上的
最大值设置为~530(我猜它们在哪里被截断),因此数据会延伸到整个图表。@tmwoods说我有3个数组Xaxis[]={1,2,3,4,5,6,7,8,}Yaxis[]={40,42,45,50,39,38,41…}日期[]={4月10日,4月11日,4月12日,4月13日,4月14日,4月15日我是否可以使用Xaxis和Yaxis数组中的值绘制图形,并在X轴上的相应点显示日期数组中的日期。我想使用日期数组的内容仅用于使用X和Y数组显示和绘制值。经过一点研究后,我相信您不能添加第二个
X轴
;只能使用Y轴执行此操作。我认为解决这个问题的唯一办法是黑客;您必须通过设置
最大值
来切断后两个图表,以便图表拉伸;我想这可能是唯一的办法。如果你再解释一下你想做什么,也许我们可以想出另一个解决方案:)@tmwoods很抱歉耽搁了。第一个窗格中的绿色图形是股票价格,黑色图形是其移动平均值。第二个窗格中是技术指标修改的RSI和修改的ADX。第三个窗格上是自定义的价格操作指示器。要跟踪股票符号,下面的所有指标都应该在第一个窗格(同步)上显示与该特定时间点相关的数据[…]哎呀,好像缺少了什么。我编辑了我的答案。