我试图让两个图表在单独的图表上垂直显示相同的网格线(图表A和图表B)。我认为大部分设置都是正确的,但不知何故,图表上的网格没有对齐。
我在控件属性和宽度的位置x(不是y)上对这些图表有相同的设置。对于两个图表,我也有相同的AxisX
时间间隔,AxisX.Minimum
和AxisX.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;
答案 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;