绘制圆
Plotting circle
我想像this一样画一个圆。
圆的方程为:(x-4)^2+(y-2)^2=25
所以我使用 curve
命令写下了 R 代码。但它并没有准确地画出圆圈。
curve(4-sqrt(25-(x-2)^2),xlim=c(-4,10),ylim=c(-4,10))
curve(4+sqrt(25-(x-2)^2),add=TRUE,col="red")
它正在生成如下圆圈:。
我的命令中 is/are 错误在哪里?这些命令也会产生警告
Warning message:
In sqrt(25 - (x - 2)^2) : NaNs produced
我知道 R 中有一个函数 draw.circle
。
但我想找出我的代码错误。
警告消息来自于您尝试取 sqrt()
个负数这一事实。可以通过增加数据点来绘制圆。:
N<-10000
curve(4-sqrt(25-(x-2)^2),xlim=c(-4,10),ylim=c(-4,10),n=N)
curve(4+sqrt(25-(x-2)^2),add=TRUE,col="red",n=N)
当然,您通常应该使用 from
、to
的参数来控制 Ben 指出的数据点的计算:
curve(4-sqrt(25-(x-2)^2),xlim=c(-4,10),ylim=c(-4,10),from=-3,to=7,n=N)
curve(4+sqrt(25-(x-2)^2),add=TRUE,col="red",from=-3,to=7,n=N)
另请注意,您绘制的是 (y,x) 而不是通常的 (x,y)。从评论来看,你似乎想要:
curve(2-sqrt(25-(x-4)^2),xlim=c(-4,10),ylim=c(-4,10),from=-1,to=9,n=N)
curve(2+sqrt(25-(x-4)^2),add=TRUE,col="red",from=-1,to=9,n=N)
我想像this一样画一个圆。
圆的方程为:(x-4)^2+(y-2)^2=25
所以我使用 curve
命令写下了 R 代码。但它并没有准确地画出圆圈。
curve(4-sqrt(25-(x-2)^2),xlim=c(-4,10),ylim=c(-4,10))
curve(4+sqrt(25-(x-2)^2),add=TRUE,col="red")
它正在生成如下圆圈:
我的命令中 is/are 错误在哪里?这些命令也会产生警告
Warning message:
In sqrt(25 - (x - 2)^2) : NaNs produced
我知道 R 中有一个函数 draw.circle
。
但我想找出我的代码错误。
警告消息来自于您尝试取 sqrt()
个负数这一事实。可以通过增加数据点来绘制圆。:
N<-10000
curve(4-sqrt(25-(x-2)^2),xlim=c(-4,10),ylim=c(-4,10),n=N)
curve(4+sqrt(25-(x-2)^2),add=TRUE,col="red",n=N)
当然,您通常应该使用 from
、to
的参数来控制 Ben 指出的数据点的计算:
curve(4-sqrt(25-(x-2)^2),xlim=c(-4,10),ylim=c(-4,10),from=-3,to=7,n=N)
curve(4+sqrt(25-(x-2)^2),add=TRUE,col="red",from=-3,to=7,n=N)
另请注意,您绘制的是 (y,x) 而不是通常的 (x,y)。从评论来看,你似乎想要:
curve(2-sqrt(25-(x-4)^2),xlim=c(-4,10),ylim=c(-4,10),from=-1,to=9,n=N)
curve(2+sqrt(25-(x-4)^2),add=TRUE,col="red",from=-1,to=9,n=N)