【发布时间】:2020-01-13 14:17:32
【问题描述】:
我继承了这个绘制简单折线图的 R 代码。但是,这样做是为了将 y 轴值向下绘制到 0 以下(将其绘制在第四象限,顶部为 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 向上增加到 +###。
【问题讨论】:
-
请通过生成随机数据并在那里重现问题或使用
dput(head(list.vlevel))向我们提供您的数据的小样本,使这个问题可重现。您还需要删除其他无关紧要的变量(例如,list.var.bias、list.score.bias、vv、expcol、expname)或者也给我们这些变量。 (这里有很多个缺失的变量,我建议你专注于提供一个没有大量dputs的清晰简单的例子。)