在R中绘制椭圆/双曲线

时间:2012-10-16 20:18:56

标签: r ggplot2

我想在R中绘制椭圆,双曲线 我怎么能用ggplot2做到这一点? 让我举个例子

x^2 +3xy+ 4x+ 2y+ 2y^2 = 0 

代表

x between -2 and 2
y between -2 and 2

1 个答案:

答案 0 :(得分:6)

构建数据字段:

d <- transform(expand.grid(x=seq(-2,2,length=51),
            y=seq(-2,2,length=51)),z=x^2+3*x*y+4*x+2*y+2*y^2)

制作一个基本geom_contour的情节,每个级别的颜色不同:

g1 <- qplot(x,y,z=z,data=d,colour=factor(..level..),geom="contour")

现在除去“0”级以外的所有线路。这取决于stat_contour选择零作为其轮廓水平之一,在某些情况下这可能是脆弱的...(对我来说stat_contour()允许控制选择的等级并不明显,相当于基础R中levelscontour()的{​​{1}}参数 - 如果确实如此,此过程会更容易一些。如果愿意,我可以向https://github.com/hadley/ggplot2/issues提交愿望清单项,如果一个人关心这个......)

contourLines()

enter image description here