【发布时间】:2019-08-23 03:01:56
【问题描述】:
我的数据包含四列:x、y_cnt、y1_rate、y2_rate。
set.seed(123)
x <- seq(1,10)
y_cnt <- rnorm(10, 200, 50)
y1_rate <- runif(10,0,1)
y2_rate <- runif(10,0,1)
df <- data.frame(x, y_cnt, y1_rate, y2_rate)
我需要生成一个图,使x 在 x 轴上,y1_rate 和 y2_rate 在主 y 轴上,y_cnt 在辅助 y 轴上。
这是它在 Excel 中的样子:
更新:
这就是我迄今为止所做的。下图好像只显示y1_rate。
transf_fact <- max(df$y_cnt)/max(df$y1_rate)
# Plot
ggplot(data = df,
mapping = aes(x = as.factor(x),
y = y_cnt)) +
geom_col(fill = 'red') +
geom_line(aes(y = transf_fact * y1_rate), group = 1) +
geom_line(aes(y = transf_fact * y2_rate)) +
scale_y_continuous(sec.axis = sec_axis(trans = ~ . / transf_fact,
name = "Rate"))+
labs(x = "X")
【问题讨论】:
-
您可以添加您已经尝试过的内容吗?
-
@Sven,请查看更新。