使用ggplot将两个不同比例的y轴放在绘图的同一侧,可以通过以下步骤实现:
install.packages("ggplot2")
library(ggplot2)
# 假设有两个不同比例的y轴数据,分别为y1和y2
y1 <- c(10, 20, 30, 40, 50)
y2 <- c(100, 200, 300, 400, 500)
# 创建一个x轴的数据,长度和y1、y2相同
x <- c(1, 2, 3, 4, 5)
# 创建一个包含以上变量的数据框
data <- data.frame(x, y1, y2)
# 创建绘图对象,并指定数据集
plot <- ggplot(data, aes(x = x))
# 添加第一个y轴的图层
plot <- plot + geom_line(aes(y = y1), color = "blue")
# 添加第二个y轴的图层
plot <- plot + geom_line(aes(y = y2 * max(y1) / max(y2)), color = "red")
在这里,将第二个y轴的值通过乘以第一个y轴的最大值与第二个y轴的最大值之比来进行缩放,以保证两个y轴在同一侧显示。
# 添加y轴标签和图例
plot <- plot + ylab("y1") + scale_y_continuous(sec.axis = sec_axis(~./max(y1)*max(y2), name = "y2")) + theme(legend.position = "right") + labs(color = "Variable")
# 显示绘图结果
plot
这样,就可以使用ggplot将两个不同比例的y轴放在绘图的同一侧,并正确显示数据的关系。
领取专属 10元无门槛券
手把手带您无忧上云