R中ggplot中的复杂函数

S.B*_*ede 0 r ggplot2

我有一个表达

((cos(-0.2*pi)*(y-1) - (sin(-0.2*pi)*x)))= 0.2*(abs(sin((10*pi*(sin(-0.2*pi))*(y-1)+ cos(-0.2*pi)*x))^ 1)))^ 6

我想在带有geom_point绘图点的ggplot中绘制.绘制时,该函数看起来与此图像类似: 绘图功能

该函数的问题可能是重叠值.我试图通过使用此问题中描述的等高线图来解决它.该解决方案产生以下结果: 具有轮廓图的绘制函数

然而,这个图似乎不精确,所以我想找到一个更好的解决方案,用Rg和ggplot绘制这种函数.

Séb*_*tte 5

根据等高线图的想法,您只需要增加x和y的分辨率.在这里,您将找到一个包含您的功能的脚本.resolution这里的值越低,精度越高.注意不要使用太高的值来创建一个非常长的计算...
它开始好于0.05:

library(ggplot2)
resolution <- 0.005
xy <- expand.grid(x = seq(0, 1, resolution), y = seq(0, 1, resolution))
z <- apply(xy, 1, function(xy) {
  x <- xy[1]
  y <- xy[2]
  0.2 * (abs( sin((10*pi*(sin(-0.2 * pi) * (y - 1) + cos(-0.2 * pi) * x))^1)))^6 - 
  ((cos(-0.2 * pi)*(y-1) - (sin(-0.2 * pi)*x)))
})

xyz <- data.frame(xy, z)

ggplot() +
geom_contour(data=xyz,
             aes(x=x,y=y,z=z),breaks=0,
             colour="black")
Run Code Online (Sandbox Code Playgroud)