由R中的方程给出的绘制曲线

时间:2012-04-17 21:36:30

标签: r graphics

在R中,有没有办法绘制由方程给出的2D曲线?例如,如何绘制由方程式给出的双曲线x ^ 2 - 3 * y ^ 2 + 2 * x * y - 20 = 0?

3 个答案:

答案 0 :(得分:16)

您可以使用contour绘制双曲线的两个分支。

f <- function(x,y) x^2 - 3*y^2 + 2*x*y - 20
x <- y <- seq(-10,10,length=100)
z <- outer(x,y,f)
contour(
  x=x, y=x, z=z, 
  levels=0, las=1, drawlabels=FALSE, lwd=3
)

enter image description here

答案 1 :(得分:1)

仅供记录 - ggplot版本

library(ggplot2)
library(dplyr)
f <- function(x,y) x^2 - 3*y^2 + 2*x*y - 20
seq(-10,+10,length=100) %>%
    expand.grid(x=.,y=.) %>%
    mutate(z=f(x,y)) %>%
    ggplot +
    aes(x=x,y=y,z=z) +
    stat_contour(breaks=0)

enter image description here

答案 2 :(得分:0)

也许解决方案可以将方程转换为公式并使用curve()来绘制图。

curve(sqrt(4/9*x^2-20/3) + x/3,-20,20)