【发布时间】:2021-02-11 12:20:12
【问题描述】:
我有包含每日降水和排放数据的数据集。现在我想在一个情节中绘制所有内容。所有数据集的长度均为 61,因此它们可以共享相同的 x 轴。放电数据应以“正常”方式绘制,这意味着 y 轴从底部开始并放置在左侧。降水数据应“从上往下”绘制,即 y 轴颠倒并放在右侧。
以下是一些可重现的最小示例的代码:
precipitation <- runif(61, min=0, max=25)
discharge <- runif(61, min=370, max=2610)
结果应大致如下所示:
有人知道如何实现这一目标吗?
编辑:感谢帕斯卡的回答暗示 ggplot2 的使用。
我自己也找到了一种使用 Base R 的方法,以防将来它可以帮助任何人:
precipitation <- runif(61, min=0, max=25)
discharge <- runif(61, min=370, max=2610)
# plot with Base R
par(mar = c(5, 5, 3, 5), xpd = TRUE)
plot(precipitation, type= "l", ylim= c(0,80), ylab= "Precipitation [mm/day]", main= "Comparison",
xlab= "Day", col= "blue")
par(new = TRUE)
plot(discharge, type= "l", xaxt = "n", ylim= rev(c(0,5000)), yaxt = "n", ylab = "", xlab = "", col= "red", lty= 2)
axis(side = 4)
mtext("Discharge [m³/s]", side = 4, line = 3)
ggplot2 的方式当然看起来有点花哨。
【问题讨论】:
-
嗨,climdrag。你能添加一个 MRE 吗?
-
嗨达里奥。抱歉,您对 MRE 是什么意思?
-
minimal reproducible example。但一般来说,拥有两个(未转换的)y 轴真的,真的不是一个好主意。 Link to famous answer by H. Wickham
标签: r