在ggplot中缩放两个y轴

时间:2020-11-03 20:05:17

标签: r ggplot2 label

我想缩放和标记以下数据集和图的两个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,但这不会更改轴的标签。它总是以一个开头。

0 个答案:

没有答案