我有一个表达
((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绘制这种函数.
根据等高线图的想法,您只需要增加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)