Y-Axis barplot 和 base plot 的位置不匹配
Y-Axis positions of barplot and base plot do not match
我试图绘制气候图并 运行 解决以下问题:
在使用 barplot(...) 进行降水后,我叠加了另一个温度图。对于气候图来说,两个 y-axes(mm,°C)在零处对齐并且 precipitation/temperature 比率是 2:1(例如 20mm 降水对应 10°C)是必要的。
问题:barplot(...) 将轴绘制到绘图的框,而 plot(...) 在框和轴边距之间留下一些 space。
这是一个简化的例子。从网格线可以看出 0 值没有对齐:
barplot(0:10)
grid(col=1)
par(new=TRUE)
plot(0:10, xlim=c(-2,14), axes=FALSE)
axis(4,at=c(0:10), labels=c(0:10))
如何获得两个轴的正确位置和缩放比例?
不要使用 par(new = TRUE)
:
barplot(0:10)
grid(col=1)
lines(0:10, type = "p")
axis(4,at = c(0:10), labels = seq(0,20,2))
函数lines()
在这里是正确的。绘制点需要参数 type = p
。
您需要调整温度的 y 值,但我认为现在第二个 y 轴的方向正确。
我试图绘制气候图并 运行 解决以下问题: 在使用 barplot(...) 进行降水后,我叠加了另一个温度图。对于气候图来说,两个 y-axes(mm,°C)在零处对齐并且 precipitation/temperature 比率是 2:1(例如 20mm 降水对应 10°C)是必要的。
问题:barplot(...) 将轴绘制到绘图的框,而 plot(...) 在框和轴边距之间留下一些 space。
这是一个简化的例子。从网格线可以看出 0 值没有对齐:
barplot(0:10)
grid(col=1)
par(new=TRUE)
plot(0:10, xlim=c(-2,14), axes=FALSE)
axis(4,at=c(0:10), labels=c(0:10))
如何获得两个轴的正确位置和缩放比例?
不要使用 par(new = TRUE)
:
barplot(0:10)
grid(col=1)
lines(0:10, type = "p")
axis(4,at = c(0:10), labels = seq(0,20,2))
函数lines()
在这里是正确的。绘制点需要参数 type = p
。
您需要调整温度的 y 值,但我认为现在第二个 y 轴的方向正确。