c# - 在 MS Chart 的缩放 View 上获取点数

标签 c# .net charts zooming

我正在使用 Microsoft Chart 控件并允许用户选择。 一旦用户选择要缩放的区域,我希望能够获取当前缩放(查看)区域的数据点。关于如何做到这一点的任何想法?我正在使用 .Net 4.5。

最佳答案

这是一个将当前可见的 DataPoints 发送到控制台输出的示例:

// two shortcuts
ChartArea CA = chart1.ChartAreas[0];
Series S = chart1.Series[0];

// these are the X-Values of the zoomed portion:
double min = CA.AxisX.ScaleView.ViewMinimum;
double max = CA.AxisX.ScaleView.ViewMaximum;

// these are the respective DataPoints:
    DataPoint pt0 = S.Points.Select(x => x)
                     .Where(x => x.XValue >= min)
                     .DefaultIfEmpty(S.Points.First()).First();
    DataPoint pt1 = S.Points.Select(x => x)
                     .Where(x => x.XValue <= max)
                     .DefaultIfEmpty(S.Points.Last()).Last();

// test output:
for (int i = S.Points.IndexOf(pt0); i < S.Points.IndexOf(pt1); i++)
    Console.WriteLine(i + " :  " + S.Points[i]);

您可以将它放在 SelectionRangeChanged 事件中。

关于c# - 在 MS Chart 的缩放 View 上获取点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29822227/

相关文章:

c# - 使用前设置 StringBuilder?

c# - 是否有像Unity这样的东西可以用于不需要界面的简单事物?

c# - 解决共享 transient 实例的位置

c# - 为什么 10675199.02 :48:05. 4775807 CompilationSection 的 TimeSpan Maximum?

css - D3 图表打印问题

javascript - 隐藏标签 x 轴但仍保留垂直轴 jquery flot

c# - 增加 sql compact 3.5 .sdf 文件的大小

c# - 有没有办法将功能与用户控件关联起来

.net - PE Headers 的哪个字段表明 PE 文件是否有效?

vba - 如何在VBA中更改系列名称