缩放&选择不适用于C#图表,其中x轴为Time类型

时间:2012-07-19 14:06:49

标签: c# .net 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;

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

enter image description here

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

enter image description here

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

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

2 个答案:

答案 0 :(得分:12)

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

chart1.ChartAreas[0].CursorX.Interval = 0.01

http://msdn.microsoft.com/en-us/library/system.windows.forms.datavisualization.charting.cursor.interval%28v=vs.100%29.aspx

的更多信息

答案 1 :(得分:2)

您的缩放很可能无法正常工作,因为您的测试时间值彼此太接近了。缩放必须能够从用户选择中选择起点和终点。如果start == end,则缩放视图的合理行为是什么都不做。