i想知道是否可以在具有可变参考的GGPLOT2中指定次级轴转换。
特别是我有以下伪代码:
df %>%
group_by(var0) %>%
summarise(var1 = ...,
var2 = ...) %>%
ggplot() +
geom_bar(aes(x = var0, y = var1), stat = "identity") +
geom_line(aes(x = var0, y = var2, group = 1))
在此代码中,我们在第一个轴上绘制了所有内容,因此我们可以做:
df %>%
group_by(var0) %>%
summarise(var1 = ...,
var2 = ...) %>%
ggplot() +
geom_bar(aes(x = var0, y = var1), stat = "identity") +
geom_line(aes(x = var0, y = var2 * max(var1) / max(var2), group = 1)) +
scale_y_continuous(sec.axis = sec_axis(transform = ~ ./ (max(var1) / max(var2)), name="sec_axis"))
该代码不起作用,因为var1
和
var2
没有在此管道操作之外定义,因此我必须这样做:
df1 <- df %>%
group_by(var0) %>%
summarise(var1 = ...,
var2 = ...)
df1 %>%
ggplot() +
geom_bar(aes(x = var0, y = var1), stat = "identity") +
geom_line(aes(x = var0, y = var2 * max(var1) / max(var2), group = 1)) +
scale_y_continuous(sec.axis = sec_axis(transform = ~ ./ (max(df1$var1) / max(df1$var2)), name="sec_axis"))
this this working,但是我必须创建一个附加变量,
df1
在GGPLOT链式操作之外。有没有办法获得第一种工作方法?
谢谢你一个选项是包裹