在DataVisualization.Charting中,当点范围小于[-1,1]时允许缩放?

时间:2011-09-02 19:30:27

标签: .net charts data-visualization

我有一个DataVisualization.Charting.Chart并且为了启用用户控制的缩放我设置了

        chartArea1.CursorX.IsUserEnabled = true;
        chartArea1.CursorX.IsUserSelectionEnabled = true;
        chartArea1.CursorY.IsUserEnabled = true;
        chartArea1.CursorY.IsUserSelectionEnabled = true;

但是,如果我创建一个具有轴的系列,数据范围在[-1,1]范围内,则图表将不允许在该轴上进行缩放。有没有办法启用缩放?

此外,缩放选择器看起来相当粗糙(它可以捕捉到主要的间隔或其他东西)是否可以让选择更顺畅?

2 个答案:

答案 0 :(得分:0)

覆盖 WPF WinForms ,因为您没有在问题中指定。

<强> WPF

听起来图表正在虚拟化内容(即只绘制视图中的内容)。您可以通过将ScrollViewer.CanContentScroll设置为False来验证是否属于这种情况。您将希望保持虚拟化,否则性能将受到大量数据集的影响。

<强>的WinForms

您是否设置了Chart.DoubleBuffered属性?将此属性设置为true将使图表控件使用辅助缓冲区重绘其表面以减少或防止闪烁。

  • Chart班级(MSDN
  • Control.DoubleBuffered财产(MSDN

答案 1 :(得分:0)

问题原来是由于缩放光标只能在离散网格上获取位置坐标。它们由Cursor.Interval和Cursor.Offset控制。您可以通过设置

来更改此设置
Chart.ChartAreas[0].CursorX.Interval = 0;
Chart.ChartAreas[0].CursorY.Interval = 0;

这使得网格连续,因此缩放光标可以采用任何坐标。