自动读取 R 中折线图的值

Automatically reading values off a line graph in R

我有一个折线图,它是我在 R 中从一个数据集生成的,但我现在希望能够读出每小时的放电值,这样我就可以将它们添加到另一个数据集以备后用.

如您所见,图中只有 3 个放电值(Y 轴):0、1.606、0。

X 轴值对应给定的 Y 轴值:0、0.65 和 0。

我现在需要获取第 0、1、2、3、4 小时的 Y 轴 值(大约 0、1.4、0.97、0.48、0),并自动生成值列表。

我正在使用自定义函数生成图表:

PlotSyntheticUnitHydrograph <- function(Qp,Tp,Tb) {

  dataPlotsX <- c(0,Tp,Tb)
  dataPlotsY <- c(0,Qp,0)

  yRange <- range(0,(c(0,Qp)))

  plot(dataPlotsX,dataPlotsY, type="o", col="blue", ylim=yRange, ann=FALSE)
  title(xlab="Time (hours)", col.lab="blue")
  title(ylab="Discharge (m^3/s per 10mm)", col.lab="blue")

}

R 代码到 运行 函数生成此图

PlotSyntheticUnitHydrograph(1.606,0.6509467,4.04712,5)

供参考:

这可以在 R 中完成吗?

谢谢

不清楚剧情本身和这个问题有什么关系。相反,您有一个在几个点上定义的函数,并且您想要对它的值进行插值。为此,有一个函数 approx 将采用原始函数和 return 一组点的线性插值。

x <- c(0, .6509467, 4.04712)
y <- c(0, 1.606, 0)

那我们可以做

> approx(x, y, 1:4)
$x
[1] 1 2 3 4

$y
[1] 1.44093787 0.96805270 0.49516752 0.02228235