在使用 ggplot2 绘图时,使用 sec.axissec_axis 函数可以在同一图中添加第二个 y 轴。如果要让第二条曲线与标准化刻度的对应,可以按照以下步骤进行操作:

  1. 首先,将第一条曲线绘制在图上,并使用 scale_y_continuous 函数对 y 轴进行标准化,例如使用 rescale 函数将 y 轴的范围缩放到 [0, 1] 之间。假设第一条曲线的数据为 df1,代码如下:
library(ggplot2)
library(scales)

ggplot(data = df1, aes(x = x, y = y1)) +
  geom_line() +
  scale_y_continuous(labels = percent, limits = c(0, 1))
  1. 接下来,将第二条曲线绘制在图上,并使用 sec.axissec_axis 函数添加第二个 y 轴。假设第二条曲线的数据为 df2,代码如下:
ggplot(data = df2, aes(x = x, y = y2)) +
  geom_line() +
  scale_y_continuous(sec.axis = sec_axis(~ ., labels = percent, limits = c(0, 1)))

在这里,sec.axis 参数指定了使用第二个 y 轴,sec_axis 函数中的 ~ . 表示将第二个 y 轴的范围与第一个 y 轴相同。

这样绘制出的图中,第一条曲线的 y 轴范围为 [0, 1],第二条曲线的 y 轴范围也为 [0, 1],并且第二个 y 轴的刻度标签将会与第一条曲线的标准化刻度对应。

ggplot2 图表双 Y 轴:如何让第二条曲线与标准化刻度对应

原文地址: https://www.cveoy.top/t/topic/fqoH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录