使用MS Charting for .NET,我试图放大我创建的图表。
这在Y轴(type = float)和X轴(如果type = int)上工作正常,但是当我在X轴上有DateTime值时,滚动的行为不应该在此轴上。
垂直地,一切仍然表现正常,但是当我可以放大X轴时,我无法拖动滑动条移动到我放大的位置。但是,我可以单击任意一侧,它会跳转。
有没有人知道如何修复此问题并使其行为与浮点值一样?
谢谢!
答案 0 :(得分:8)
根据您的数据,尝试将图表区域的CursorX.IntervalType
属性设置为Auto以外的其他属性。
一旦放大,尝试使用滚动条的小滚动箭头时可能会遇到类似的问题。要解决此问题,您可以尝试将图表区域的AxisX.ScaleView.SmallScrollSizeType
属性设置为与CursorX.IntervalType
。
例如,如果您的图表包含每30秒报告一次的数据,则可以使用以下设置:
chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
chart1.ChartAreas[0].CursorX.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Minutes;
chart1.ChartAreas[0].CursorX.Interval = 0.5D;
chart1.ChartAreas[0].AxisX.ScaleView.SmallScrollSizeType = DateTimeIntervalType.Minutes;
chart1.ChartAreas[0].AxisX.ScaleView.SmallScrollSize = 0.5D;
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisX.LabelStyle.Format = "hh:mm:ss";
答案 1 :(得分:0)
我遇到了同样的问题,这些设置为我解决了这个问题:
_chart.ChartAreas[0].CursorX.IsUserEnabled = true;
_chart.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
_chart.ChartAreas[0].CursorX.IntervalType = DateTimeIntervalType.Minutes;
_chart.ChartAreas[0].CursorX.Interval = 1D;
_chart.ChartAreas[0].AxisX.ScaleView.SmallScrollSizeType = DateTimeIntervalType.Minutes;
_chart.ChartAreas[0].AxisX.ScaleView.SmallScrollSize = 1D;
_chart.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
_chart.ChartAreas[0].AxisX.ScaleView.MinSizeType = DateTimeIntervalType.Minutes;
_chart.ChartAreas[0].AxisX.ScaleView.MinSize = 1D;
_chart.ChartAreas[0].AxisX.ScaleView.SmallScrollMinSizeType = DateTimeIntervalType.Minutes;
_chart.ChartAreas[0].AxisX.ScaleView.SmallScrollMinSize = 1D;
特别是最后两行完成了这项工作。
答案 2 :(得分:0)
添加
chart.ChartAreas[0].AxisX.ScaleView.SmallScrollMinSizeType = DateTimeIntervalType.Seconds;
答案 3 :(得分:0)
我的解决方法是:
chart1.ChartAreas[0].CursorX.IntervalType = DateTimeIntervalType.Milliseconds;