我想在 R 中绘制椭圆、双曲线。如何使用 ggplot2 来绘制?让我举个例子
x^2 +3xy+ 4x+ 2y+ 2y^2 = 0
为了
x between -2 and 2
y between -2 and 2
构造一个数据字段:
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()
或contourLines()
在基数 R 中的参数 - 如果它确实,这个过程会更容易一些。如果有人足够关心这个,可以向https://github.com/hadley/ggplot2/issues提交一个愿望清单项目......)
g1 + scale_colour_discrete(breaks="0",limits=c("0","0"),na.value=NA,
guide="none")