辅助轴ggplot2 R

时间:2019-03-25 11:19:40

标签: r ggplot2 yaxis

在ggplot2中定义辅助轴时遇到一些问题。 特别是,如果不引用数据,就无法定义要应用于轴的转换。

代码在这里:

mtcars %>%
  ggplot()+
  geom_line(aes(x=mpg, y=wt), col="red")+
  geom_line(aes(x=mpg, y=disp*( max(wt) / max(disp) ) ), col="blue" )+
  scale_y_continuous(sec.axis = sec_axis(~./(max(wt) / max(disp)), name="disp"))

我得到了错误:

Error in rlang::eval_tidy(rlang::f_rhs(self$trans), data = range, env = rlang::f_env(self$trans)) : 
object 'wt' not found

定义sec.axis = sec_axis(~./(max(wt) / max(disp))时,变量wtdisp包含在mtcars数据集中。为什么返回错误?

我可以这样做

... sec_axis(~./(max(mtcars$wt) / max(mtcars$disp)) ...

但是我想应用这些转换而不每次都引用数据集。 这是因为在绘制数据之前,我想应用一些转换,例如

my_df %>% groupby(...) %>% summarize(...) %>% mutate(...) %>% ggplot(...)

以这种方式绘制数据时,我无法引用现有表,因为该表不会退出,但仅出于绘制目的而创建它。

有人可以帮忙吗? 谢谢

0 个答案:

没有答案