如何在R编程中将x轴在顶部和y轴上反转?

时间:2016-01-23 03:56:39

标签: r plot

一般情况下,当我们进行绘图时,绘图的底部(从左到右)为x轴,左侧为y轴(从下到上)。
例如,在R编程中,我有一个这样的代码:

t <- seq(0,1,0.2)       # need t values in top x axis
plot(t,t^2,type="l")    # need t^2 values in inverted y-axis

现在,如果我们想要绘图,使x轴在顶部(从左到右),y轴在倒置(从上到下)。
我们怎样才能在R编程中实现这样的壮举? 我在stackoverflow中搜索了以下链接但是它们无法满足我的要求:
How to invert the y-axis on a plot

Invert y-axis in barplot

1 个答案:

答案 0 :(得分:5)

查看?axis

t <- seq(0,1,0.2)
plot(t,t,type="l", xaxt = 'n', yaxt = 'n')
lines(t,t^2,col="green")
lines(t,t^3,col="blue")
axis(3)
axis(2, at = pretty(t), labels = rev(pretty(t)))

enter image description here

我不确定为什么.0会被删除,但您可以使用labels = format(rev(pretty(t)), digits = 1)来保持一致性

修改

关闭其中一个轴的整个情节,只需反转情节的xlimylim,您无需担心翻转或否定你的数据:

t <- seq(0,1,0.2)
plot(t,t,type="l", xaxt = 'n', yaxt = 'n', ylim = rev(range(t)))
lines(t,t^2,col="green")
lines(t,t^3,col="blue")
axis(3)
axis(2, at = pretty(t), labels = format(pretty(t), digits = 1), las = 1)

enter image description here