【发布时间】:2014-04-08 07:34:50
【问题描述】:
我希望根据我创建的函数创建一个连续的等高线/热图。该图将基于给定的输入和 x 和 y 限制,然后该函数会生成每 0.01 增量处具有等高线的热图。
# var 1 to 3 are given as inputs and do not change.
var1 = 3
var2 = 1
var3 = 0.02
# x and y are additional variables, but they are plotted within a range
# on the chart, xlim = c(0, 24), ylim = c(0, 0.05)
# Given var 1 to 3, and the ranges x and y, plot the result (z) as a heat map and/or contour
result <- function(var1, var2, var3,x, y){
var2 * (1 + (x/12) * var3) * (1 + -var1 * y)
}
# sample output at point x = 12, y = 0.02, and equals 0.9588 in this example.
result(var1 = 3, var2 = 1,var3 = 0.02,
x=12,
y=0.02)
下面的图表代表了我想要完成的任务,尽管它来自网络并且与我提供的数据无关。我以前没有在等高线图中使用过连续函数。
【问题讨论】:
-
那么是什么特别阻碍了你?根据你到目前为止的第一个问题,我看到的是,如果你想使用 image 或 image.plot 和/或等高线图制作彩色图,你需要你的函数来输出 x、y、z 或 z 值矩阵.现在它只是吐出1个数字。你可以做的是让 x 和 y 成为实际范围,即 x=c(0,3), y=c(-2,1)。此外,您将需要另一个变量来告诉您的函数在该范围内计算的频率。它是否计算过 0.5 或 1 等。这与 x 和 y 一起将确定您的输出矩阵有多大。
-
我需要绘图来生成 z 值,给出 x 和 y 的范围。我提供的样本只有 1 个值,因为 x 和 y 都给出了,所以它只是图表上的一个点。如果我对您的理解正确,我无法制作连续情节?我的印象是这是可行的,特别是考虑到我提供的情节似乎是连续的
标签: r