我几周前发现ggforce
,它具有绘制椭圆的强大功能。但我无法在对数图中使用它。这是一个示例:
我想用椭圆圈出这个小组
library(ggforce)
library(ggplot2)
ggplot(mtcars)+
geom_point(aes(hp,disp))+
geom_ellipse(aes(x0 = 230, y0 = 450, a = 80, b = 30, angle = -10))
但我想在对数图中执行此操作。如果我天真地做
ggplot(mtcars)+
geom_point(aes(hp,disp))+
geom_ellipse(aes(x0 = 230, y0 = 450, a = 80, b = 30, angle = -10))+
scale_y_log10()
我得到一个巨大的椭圆形:
看起来椭圆参数未进行对数转换。我可以尝试减少参数轴以在对数轴上获得合适的大小,例如:
ggplot(mtcars)+
geom_point(aes(hp,disp))+
scale_y_log10()+
geom_ellipse(aes(x0 = 230, y0 = 450, a = 80, b = 0.05, angle =0))
有效:
但是仅当角度为0时。否则,两个wxi混合并且我无法获得想要的椭圆:
ggplot(mtcars)+
geom_point(aes(hp,disp))+
scale_y_log10()+
geom_ellipse(aes(x0 = 230, y0 = 450, a = 80, b = 0.05, angle = -10))
如何在ggplot的对数或对数对数图中绘制椭圆? ggforce
有任何可行的解决方法吗?