【问题标题】:Get Y-value of a graph in C#在 C# 中获取图形的 Y 值
【发布时间】:2015-11-18 11:09:36
【问题描述】:

在 C# 中,如何获取图表系列中某个点的 Y 值,知道它的 X 值是 DateTime 类型吗?我不知道这个系列的索引,只知道他们的名字。

以下是我的代码。事实上,随着时间的推移,我做了一个股票价格的模拟。现在我想添加“服务日期”系列来标记模拟的具体日期点。我现在需要将colpos 设置为名称由colinfo.colptf 给出的系列的Y 值

或者你能告诉我如何获取chart1.series[colinfo.colptf]的索引吗?

private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
        if (radioButton1.Checked == true)
        {
            radioButton2.Checked = false;
            radioButton3.Checked = false;
            radioButton4.Checked = false;
            clearseries(chart1, "Service dates");
            chart1.Series.Add("Service dates");
            chart1.Series["Service dates"].Color = Color.Red;
            chart1.Series["Service dates"].ChartType = SeriesChartType.Point;
            foreach (var simul in simulations)
                foreach (var colinfo in simul.VPdates)
                {
                    double colpos = chart1.Series[colinfo.colptf].Points.First(x => x.XValue == colinfo.coldate.ToOADate()).YValues[0];
                    addpoint(colinfo.coldate, colpos, colinfo.colstring, chart1.Series["Service dates"]);
                }
        }
}

【问题讨论】:

  • 你有什么代码?
  • 你在使用 Ms Pie Charts 吗?
  • 我刚刚将代码添加到我的问题中。 chart1.Series[colinfo.colptf] 是样条曲线。

标签: c# charts


【解决方案1】:

你可以使用

var collection = chart1.Series.Select(series => series.Points.Where(point => point.XValue == 0).ToList()).ToList();

这将为您提供一个系列列表,其中包含指定 X 坐标处的所有点。

如果您想要 1 个列表中的所有数据点,您现在可以使用

List<DataPoint> points = new List<DataPoint>();
collection.ForEach(series => series.ForEach(points.Add));

从 DataPoint 获取 Y 值只是使用 YValues,它返回一个 Y 值数组。我假设您只为每个点分配 1 个 Y 值,因此您可以只取第一个索引,即 [0]。

所以获得第一个点的第一个 Y 值将是:

double yVal = points[0].YValues[0];

【讨论】:

  • 感谢您的回复,您能告诉我如何继续获取 Y 值吗?我对 C# 很陌生。
  • 感谢您的回答。我更新了我的代码并解决了这个问题。我真的很困惑,因为 C# 允许将多个 Y 值分配给一个点。
  • 是的,这确实是可能的。例如,它用于一个范围系列,您希望在其中显示每个 X 点的最小值和最大值(例如显示一个国家每天最低和最高温度的图表)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-13
  • 1970-01-01
  • 2018-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
相关资源
最近更新 更多