R将y轴倒置绘制。如何向右翻转?

时间:2019-09-11 17:38:34

标签: r plot axis

我继承了此R代码,该代码绘制了简单的折线图。但是,这样做是为了将y轴值向下绘制到0以下(将其绘制在第4个象限中,顶部为0,底部为+3600)。我想将数据右侧向上绘制(第一象限),因此y轴数据从0到顶部的+3600像典型的小学绘图一样。

我尝试了ylim = rev(y),但返回错误... 我也尝试过翻转seq()命令,但是那里没有运气。

list.vlevel = numeric(9) # placeholder
plot(
  rep(0, length(list.vlevel)),
  seq(1, length(list.vlevel)),
  type = "n",
  xlim = biaslim,
  axes = F,
  main = paste(list.var.bias[vv], list.score.bias[vv]),
  xlab = "",
  ylab = ""
)

abline(h = seq(1, length(list.vlevel)),
       lty = 3,
       col = 8)
axis(2,
     labels = list.vlevel,
     at = seq(length(list.vlevel), 1, -1),
     las = 1)
axis(1)
box()
legend(
  x = min(biasarray.var.runhour),
  y = length(list.vlevel),
  legend = expname,
  lty = 3,
  lwd = 3,
  col = expcol
)
for (exp in seq(length(expname), 1, -1)) {
  lines(
    biasarray.var.runhour[exp, ],
    seq(length(list.vlevel), 1, -1),
    col = expcol[exp],
    lwd = 3,
    lty = 3
  )
}
abline(v = 0, lty = 3)

该图应在第一象限结束,y轴值从0向上增加到+ ###。

1 个答案:

答案 0 :(得分:1)

axis(2, ...)线绘制y轴。您可以看到标签遵循降序排列:seq(length(list.vlevel), 1, -1)seq(1, length(list.vlevel))

类似地,在lines()可能,您需要从seq(length(list.vlevel), 1, -1)到``seq(1,length(list.vlevel))`

我们已经用您提供的信息告诉了我们很多-在没有您使用的所有常量值的情况下,无法运行任何yoru代码,例如biasarray.var.runhourlist.var.bias,{ {1}},等等。