要使用R语言的ggplot2包绘制双y轴折线图,首先需要加载所需的包和数据。下面是一个示例代码,将两个y轴的数据存储在一个数据框中,然后使用ggplot2包绘制双y轴折线图。

# 加载所需的包
library(ggplot2)

# 创建数据框
df <- data.frame(
  x = 1:10,
  y1 = c(3, 5, 2, 7, 4, 6, 8, 3, 2, 5),
  y2 = c(10, 8, 6, 4, 2, 4, 6, 8, 10, 12)
)

# 绘制双y轴折线图
ggplot(df, aes(x)) +
  geom_line(aes(y = y1, color = 'y1')) +
  geom_line(aes(y = y2 * 10, color = 'y2')) +
  scale_color_manual(values = c('y1' = 'blue', 'y2' = 'red')) +
  labs(y = 'y1', x = 'x') +
  theme(axis.title.y = element_text(color = 'blue'),
        axis.text.y = element_text(color = 'blue')) +
  new_scale_color() +
  geom_line(aes(y = y2, color = 'y2')) +
  scale_color_manual(values = c('y2' = 'red')) +
  labs(y = 'y2') +
  theme(axis.title.y.right = element_text(color = 'red'),
        axis.text.y.right = element_text(color = 'red'),
        axis.title.y = element_blank(),
        axis.text.y = element_blank(),
        axis.ticks.y = element_blank())

在上述代码中,我们首先创建了一个包含x轴和两个y轴的数据框df。然后,使用ggplot函数创建一个空的绘图对象,并在其中使用geom_line函数分别绘制y1和y2的折线图。注意,我们使用color参数来指定每个y轴的颜色,并使用scale_color_manual函数来设置颜色值。接下来,我们使用labs函数设置y轴和x轴的标签,并使用theme函数调整轴标题和文本的颜色。最后,我们使用new_scale_color函数和geom_line函数再次绘制y2轴的折线图,并使用scale_color_manual函数设置颜色值。同时,我们使用theme函数隐藏了y1轴的文本和刻度线,以便只显示y2轴的文本和刻度线。

绘制双y轴折线图需要谨慎使用,因为双y轴可能会引起混淆和误解。在使用双y轴时,务必要清晰地标识每个y轴的含义,并确保数据之间的比较是合理和准确的。

R语言ggplot2双Y轴折线图绘制教程 - 示例代码及注意事项

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

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