在具有两个y轴的ggplot中移动限制比例,可以通过调整坐标轴的限制范围和设置坐标轴的比例来实现。下面是具体的步骤:
library(ggplot2)
# 创建数据
data <- data.frame(x = 1:10, y1 = 1:10, y2 = 11:20)
# 创建图表
plot <- ggplot(data, aes(x = x)) +
geom_line(aes(y = y1, color = "y1")) +
geom_line(aes(y = y2, color = "y2")) +
scale_color_manual(values = c("y1" = "red", "y2" = "blue")) +
theme_bw()
# 设置第一个y轴的限制范围
plot <- plot + ylim(0, 10)
# 设置第一个y轴的比例
plot <- plot + scale_y_continuous(limits = c(0, 10), expand = c(0, 0), name = "y1",
sec.axis = sec_axis(~./10, name = "y1_ratio"))
在上述代码中,ylim(0, 10)
设置了第一个y轴的限制范围为0到10,scale_y_continuous
函数中的sec.axis = sec_axis(~./10, name = "y1_ratio")
设置了第一个y轴的比例为原始值除以10,并添加了一个辅助轴y1_ratio
。
# 设置第二个y轴的限制范围
plot <- plot + ylim(11, 20)
# 设置第二个y轴的比例
plot <- plot + scale_y_continuous(limits = c(11, 20), expand = c(0, 0), name = "y2",
sec.axis = sec_axis(~.*10, name = "y2_ratio"))
在上述代码中,ylim(11, 20)
设置了第二个y轴的限制范围为11到20,scale_y_continuous
函数中的sec.axis = sec_axis(~.*10, name = "y2_ratio")
设置了第二个y轴的比例为原始值乘以10,并添加了一个辅助轴y2_ratio
。
# 移动第一个y轴的限制比例
plot <- plot + coord_cartesian(ylim = c(2, 8))
# 移动第二个y轴的限制比例
plot <- plot + coord_cartesian(ylim = c(13, 17))
在上述代码中,coord_cartesian(ylim = c(2, 8))
移动了第一个y轴的限制比例,将其限制在2到8之间;coord_cartesian(ylim = c(13, 17))
移动了第二个y轴的限制比例,将其限制在13到17之间。
最后,使用plot
命令显示图表:
plot
这样就可以在具有两个y轴的ggplot中移动限制比例了。根据具体需求,可以根据上述步骤调整不同的限制范围和比例。
领取专属 10元无门槛券
手把手带您无忧上云