缩放和选择不适用于具有Time类型的x轴的C#图表

Ant*_*ior 5 .net c# mschart

我正在使用以下代码来允许选择和缩放我的图表部分:

chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;

chart1.ChartAreas[0].CursorY.IsUserEnabled = true;
chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisY.ScrollBar.IsPositionedInside = true;
Run Code Online (Sandbox Code Playgroud)

它适用于具有Integer类型的x轴和y轴的图表.

在此输入图像描述

但是当我将系列值类型设置为时series1.XValueType = ChartValueType.Time;,我将无法放大x轴.

在此输入图像描述

当我为auto设置两个轴值类型并使用例如添加点时chart1.Series[0].Points.AddXY(DateTime.Now.ToLongTimeString(), rand.Next(10, 20));,则缩放工作.

如何让我的x轴成为时间并仍然可以缩放?

Don*_*ald 13

您需要在光标上设置间隔默认值为1.0,我有百分比问题,所以我将间隔设置为0.01,例如1%,如下所示.您希望在Cursor上设置IntervalType,因为它接受datetime类型.

chart1.ChartAreas[0].CursorX.Interval = 0.01
Run Code Online (Sandbox Code Playgroud)

更多信息,请访问http://msdn.microsoft.com/en-us/library/system.windows.forms.datavisualization.charting.cursor.interval%28v=vs.100%29.aspx


zeF*_*chy 2

您的缩放很可能不起作用,因为您的测试时间值彼此太接近。缩放必须能够从用户选择中选取起点和终点。如果 start == end,则缩放视图的合理行为是不执行任何操作。