gpt4 book ai didi

c# - 获取图表值

转载 作者:太空宇宙 更新时间:2023-11-03 21:00:21 25 4
gpt4 key购买 nike

例如,我有包含 2 个点的图表 - 0,0 和 10,10,图表类型是 FastLine。我想知道选择 X 值时图表中的 Y 值是多少。

例如,当 X 为 5 时,我想知道 Y 为 5。

我的图表比较复杂,有很多点,我需要通过 X 得到 Y 值。

我该怎么做?

最佳答案

问题归结为两个任务:

  • 寻找 x 值的相邻点
  • 为给定的 x 值插入它们的 y 值。

如果 x 值确实在稳步增加,这应该可以解决两个问题:

double interpolatedY(Series s, double xval)
{
DataPoint pPrev = s.Points.Last(x => x.XValue <= xval);
DataPoint pNext = s.Points.First(x => x.XValue >= xval);

if (pPrev == pNext) return pPrev.YValues[0];

return pPrev.YValues[0] + (pNext.YValues[0] - pPrev.YValues[0])
* (xval - pPrev.XValue)/ (pNext.XValue - pPrev.XValue);
}

它使用 Linq 查找上一个和下一个数据点,然后使用简单的数学运算找到插值。

请注意,大多数检查都被省略了!

这里我添加了一个相同的点系列和第三个来添加插值:

enter image description here

要在图表像素和值之间进行转换,可以使用 Axis 函数 ValueToPixelPositionPixelPositionToValue,顺便说一句。

关于c# - 获取图表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46092227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com