我想询问是否有任何可能的方法在x轴中绘制图1的图形,而值2和3在y轴上(一个在左侧,另一个在右侧)。我希望能够为此获得一些帮助。非常感谢!
您的意思是这样吗?
library(ggplot2)
# Fixed data frame syntax
df <- data.frame(
category = c('a', 'b', 'c', 'd', 'e'),
value1 = c(1.02, -0.34, 2.31, 1.15, 0.68),
value2 = c(-1.14, 2.19, 0.56, 3.12, 1.17),
value3 = c(0, 0.19, 3.18, -1.14, 2.12)
)
scale_factor <- diff(range(df$value2)) / diff(range(df$value3))
ggplot(df, aes(x = value1)) +
geom_line(aes(y = value2, color = "Value 2")) +
geom_line(aes(y = value3 * scale_factor, color = "Value 3")) +
scale_y_continuous(
name = "Value 2",
sec.axis = sec_axis(~./scale_factor, name = "Value 3")
) +
scale_color_manual(values = c("Value 2" = "blue", "Value 3" = "red")) +
labs(x = "Value 1", color = "Variables") +
theme_minimal()