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

标签 c# charts mschart

enter image description here

我试图将两个图表在单独的图表(图表 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;

最佳答案

您应该研究对齐属性。将绘图创建为单个图表对象内的两个图表区域,以便能够使用 .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;

关于c# - 多个图表上的相同网格设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22470167/

相关文章:

c# - 有什么方法可以将 .dll 文件转换为 .cs 文件

c# - 枚举到下拉框到方法

charts - 在charts_flutter时间序列图中格式化时间标签

asp.net - MS Chart控件创建的临时文件应该放在哪里?

c# - 设置 ItemsSource 后使 ListBox 不选择第一项

vba - 带有用户数据选择的excel图表

charts - 数据可视化 - 包含大量指标/颜色的图表

图表区域内的 MSchart 标签

c# - 如何在 .net 4 Chart 中更改字体颜色

c# - 在 .net 中对线程进行排队