多个图表上的相同网格设置

时间:2014-03-18 04:06:21

标签: c# charts mschart

enter image description here

我试图让两个图表在单独的图表上垂直显示相同的网格线(图表A和图表B)。我认为大部分设置都是正确的,但不知何故,图表上的网格没有对齐。

我在控件属性和宽度的位置x(不是y)上对这些图表有相同的设置。对于两个图表,我也有相同的AxisX时间间隔,AxisX.MinimumAxisX.Maximum的数据对于两个图表都完全相同。我相信图表A和图表B有一个小数差异,为什么会导致这个问题(见图像左侧的红框)。

我的问题是如何垂直排列。

以下是我在C#ASP.NET中的设置

_chart.ChartAreas[0].AxisX.Interval = 30
_chart.ChartAreas[0].AxisX.Minimum = _Intra.Select(x => x.X).Min().ToOADate();
_chart.ChartAreas[0].AxisX.Maximum = _Intra.Select(x => x.X).Max().ToOADate();
_chartArea1.AxisX.ScaleView.MinSizeType = DateTimeIntervalType.Minutes;
_chartArea1.AxisX.IntervalType = DateTimeIntervalType.Minutes;

1 个答案:

答案 0 :(得分:2)

您应该调查对齐属性。在单个图表对象中创建两个图表区域,以便能够使用.alignWithChartArea属性。

using System.Windows.Forms.DataVisualization.Charting;
...

// Make Chart Area 2 align to Chart Area 1
Chart1.ChartAreas["Chart Area 2"].AlignWithChartArea = "Chart Area 1";

// Set the alignment type
Chart1.ChartAreas["Chart Area 2"].AlignmentStyle = AreaAlignmentStyles.Position |
                                            AreaAlignmentStyles.PlotPosition |
                                            AreaAlignmentStyles.Cursor |
                                            AreaAlignmentStyles.AxesView;