我已經嘗試搜索堆疊溢位來尋找答案,但我無法得到它。
我正在使用反轉的 y 軸來繪制一個隨時間變化的 y 變數,并且我想以正常順序(不反轉)獲得我的次要 y 軸。
library(tidyverse)
library(scales)
library(lemon)
base_nivelprecip %>%
mutate(nivel = as.double(nivel),
precip = as.double(precip)) %>%
mutate(precip_rescaled = precip/200) %>%
ggplot(aes(x = data, y = nivel,
xmin = as.POSIXct("2012-05-01", "%Y-%m-%d"),
xmax = as.POSIXct("2020-04-30", "%Y-%m-%d")))
geom_col(aes(x = data, y = precip_rescaled), fill = '#8D8DAA', size = 3)
geom_line(group = 1, color = '#041562', size = 0.3)
labs(x = "", y = "Groundwater level (m)")
scale_y_reverse(limits = c(5,-0.5) , sec.axis = sec_axis(~rev(.)*200, name = "Precipitation (mm)"))
lemon::facet_rep_wrap(~poco, nrow = 3, repeat.tick.labels = TRUE)
theme_bw()
theme(text=element_text(size=12),
axis.text.x = element_text(size = 8)
盡管我嘗試了一些轉換,但我能得到的最好的結果是:

但我希望 geom_col (在輔助軸上)從輔助軸 0 開始,而不是在主軸上。有人可以幫助我嗎?謝謝。我的資料樣本在這里:
uj5u.com熱心網友回復:
請記住,在 ggplot2 中,輔助軸是一種裝飾,不會改變資料的映射。因此,如果您希望將資料映射到輔助軸,則需要將其轉換為根據主軸顯示在您想要的位置(它不像 Excel 那樣自動發生)。然后還需要定義輔助軸的變換。
在下面的例子中,我有一個反向的主軸,它決定了點的位置。我還有一個輔助軸,它將主軸轉換為相反的斜率。這里的~35-.意思是“轉換,使輸入 0 的值變為 35,并且斜率反轉”。
ggplot(mtcars, aes(wt, mpg))
geom_point()
scale_y_continuous(trans = "reverse",
sec.axis = sec_axis(~35-., name = "how far below 35 mpg"))

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/462770.html
