我想在R中绘制椭圆,双曲线 我怎么能用ggplot2做到这一点? 让我举个例子
x^2 +3xy+ 4x+ 2y+ 2y^2 = 0
代表
x between -2 and 2
y between -2 and 2
答案 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中levels
或contour()
的{{1}}参数 - 如果确实如此,此过程会更容易一些。如果愿意,我可以向https://github.com/hadley/ggplot2/issues提交愿望清单项,如果一个人关心这个......)
contourLines()