我在ChartArea
中有两个Chart
个对象(我正在使用System.Windows.Forms.DataVisualization.Charting
)。
一个是Point图,另一个是RangeBar图。 RangeBar图上的水平轴实际上是Y轴,所以我不能只使用这样的东西:
Chart1.ChartAreas["Chart Area 2"].AlignWithChartArea = "Default";
我已经想出如何缩放两个图表并保持它们对齐,但是当我尝试通过单击其中一个水平轴上的滚动条来滚动两个图表时,我无法将它排成一行。它们几乎排队,但它们可能大约一秒左右(两个图中的水平轴都是时间)。
这就是我所拥有的:
private void theChart_AxisViewChanged(object sender, ViewEventArgs e)
{
if (e.ChartArea == theChart.ChartAreas["MyPointChartArea"])
{
theChart.ChartAreas["MyRangeBarChartArea"].AxisY.ScaleView.Position = e.NewPosition;
theChart.ChartAreas["MyRangeBarChartArea"].AxisY.ScaleView.Size = e.NewSize;
theChart.ChartAreas["MyRangeBarChartArea"].AxisY.ScaleView.SizeType = e.NewSizeType;
}
if (e.ChartArea == theChart.ChartAreas["MyRangeBarChartArea"])
{
theChart.ChartAreas["MyPointChartArea"].AxisX.ScaleView.Position = e.NewPosition;
theChart.ChartAreas["MyPointChartArea"].AxisX.ScaleView.Size = e.NewSize;
theChart.ChartAreas["MyPointChartArea"].AxisX.ScaleView.SizeType = e.NewSizeType;
}
}
我还需要做些什么来使图表排成一行?图表的物理范围是相同的。这只是略微错位的数据。
感谢您的帮助。