将3个轴绘制在R

问题描述 投票:0回答:1

我想询问是否有任何可能的方法在x轴中绘制图1的图形,而值2和3在y轴上(一个在左侧,另一个在右侧)。我希望能够为此获得一些帮助。非常感谢!

	
您的意思是这样吗?

r ggplot2
1个回答
0
投票

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() out

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.