R - 在 ScatterPlot 中绘制椭圆(不是* 统计椭圆)

use*_*808 5 r ellipse ggplot2

我在 R 中使用 ggplot 创建了一个散点图:

ggplot(data, aes(x=x, y=y)) + 
  xlim(0,800) + 
  ylim(0,600) + 
  geom_point(colour="black") + 
  geom_path(aes(color="red")
Run Code Online (Sandbox Code Playgroud)

我想使用中心坐标、高度和宽度在该图上绘制一个叠加的椭圆(请不是置信区间椭圆)。

我已经尝试过draw.ellipseplotrix包中的函数,但这仅适用于R默认plot 函数创建的散点图。

有人知道如何在 ggplot 创建的散点图上绘制椭圆吗?

Mac*_*age 3

我今天刚刚遇到了同样的问题!这是针对您的案例的解决方案。首先,确保您使用 ggplot2 创建了散点图,然后下载并导入 ggforce 包。添加

geom_ellipse(aes(x0=x, y0=y, a=axis length on x direction, b=axis on y direction), fill=..., alpha=...)+geom_polygon()
Run Code Online (Sandbox Code Playgroud)

在 (x,y) 处填充半透明椭圆。如果你不想让它被填充,只需剪掉 fill 和 alpha 参数,并将 geom_polygon() 替换为 geom_path() 即可。

希望这可以帮助!