#c# #.net-3.5 #alignment #data-visualization #mschart
#c# #.net-3.5 #выравнивание #визуализация данных #mschart
Вопрос:
У меня есть два ChartArea
объекта в Chart
( System.Windows.Forms.DataVisualization.Charting
это то, что я использую).
Один из них представляет собой точечный график, а другой — график диапазона. Горизонтальная ось на графике 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;
}
}
Что еще мне нужно сделать, чтобы диаграммы выстроились в линию? Физический экстент диаграмм одинаков. Это просто данные, которые немного смещены.
Спасибо за любую помощь.