我需要使用sec.axis创建一个Dual-y图,但是无法使两个轴正确缩放。
我一直在遵循此线程中的说明:ggplot with 2 y axes on each side and different scales
但是每次我将ylim.prim的下限更改为0以外的任何值时,都会弄乱整个情节。出于可视化的原因,我需要两个轴的特定y限制。另外,当我将geom_col更改为geom_line时,它也弄乱了辅助轴的限制。
climate <- tibble(
Month = 1:12,Temp = c(23,23,24,23),Precip = c(101,105,100,101,102,112,121,107,114,108,120)
)
ylim.prim <- c(0,125) # in this example,precipitation
ylim.sec <- c(15,30) # in this example,temperature
b <- diff(ylim.prim)/diff(ylim.sec)
a <- b*(ylim.prim[1] - ylim.sec[1])
ggplot(climate,aes(Month,Precip)) +
geom_col() +
geom_line(aes(y = a + Temp*b),color = "red") +
scale_y_continuous("Precipitation",sec.axis = sec_axis(~ (. - a)/b,name = "Temperature"),) +
scale_x_continuous("Month",breaks = 1:12)
ylim.prim <- c(0,Precip)) +
geom_line() +
geom_line(aes(y = a + Temp*b),breaks = 1:12)
ylim.prim <- c(95,breaks = 1:12)