自动读取 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)
供参考:
Qp = 峰值放电(图表上的 Y 轴峰值)
Tp = 峰值放电时间
Tb = 基准时间;从峰值放电减少到 0 (4.04
小时)
这可以在 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
我有一个折线图,它是我在 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)
供参考:
Qp = 峰值放电(图表上的 Y 轴峰值)
Tp = 峰值放电时间
Tb = 基准时间;从峰值放电减少到 0 (4.04 小时)
这可以在 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