我想缩放和标记以下数据集和图的两个y轴。
climate <- tibble(
Month = 1:4,
Temp = c(NA, 0.16,0.05,-0.05),
Precip = c(340,343,337,438)
)
ylim.sec <- c(300, 480)
ylim.prim <- c(-0.1, 0.4)
b <- diff(ylim.prim)/diff(ylim.sec)
a <- b*(ylim.prim[1] - ylim.sec[1])
ggplot(climate) +
geom_line(mapping = aes(x = Month, y = Precip)) +
geom_bar(mapping = aes(x = Month, y = Temp/b-a),size = 2, color = "blue", fill="grey", stat = "identity", width=0.5) +
scale_y_continuous(name = "Interruptions/day",
sec.axis = sec_axis(~(. + a)*b, name = "Productivity % of best",
labels = function(b) { paste0(round(b * 100, 0), "%")}))
第一个y轴(Precip)的范围(并从300开始)应为480,第二个y轴的范围应为-10%至40%。我可以更改a和b,但这不会更改轴的标签。它总是以一个开头。