ggplot geom_polar中半径的自定义变换

时间:2017-09-13 09:05:38

标签: r ggplot2 transformation polar-coordinates

我使用ggplot2绘制季节性数据。由于当我将轴开始为0时,小值不能很好地显示,因此我想要检测轴。我希望函数值对应于偏移量和线之间的区域,对此的变换将是r = sqrt(y+offest^2)。 (如果我在这里错了,请纠正我。)

如何与geom_polar一起使用此转换?在以下代码中,似乎没有应用转换:

my_function <- function(x){1+sin(x)}

my_trafo_trans <- function() trans_new("my_trafo", function(y){sign(y)*sqrt(abs(y))+1^2}, function(r){r^2+1^2})

ggplot(data=data.frame(x=0), aes(x=0)) +
  coord_trans(y = "my_trafo") +
  coord_polar(theta="x") +
  ylim(-0.5, 2 ) +
  xlim(-pi, pi) +
  stat_function(fun=my_function,  geom="line", alpha=0.75, n=1000) +
  stat_function(fun=function(x) 0, geom="line") +
  theme_bw()

当您分别注释掉coord_transcoord_polar行时,将此输出与输出进行比较。

是否可以同时使用coord_transcoord_polar

0 个答案:

没有答案