0

我使用以下 R 绘图命令来创建绘图 - 在 Google 中进行了多次查找后,我设法找到了“正确”的命令 - 但它仍然不完美:

x = c(0.1,0.2,0.3,0.4);

y = c(100,200,300,400);

z = c(81,82,83,87);

w = 150;

v = 85.5;

plot(x,y, type="l", lwd=4, xlab="threshold", ylab="seconds");

points(x, y, col="red", cex=2, pch=19);

abline(h=w, col="red", lwd=4);

par("usr");

par(usr = c(par("usr")[1:2], 80,90));

axis(4, lwd=4);

points(x, z, col="blue", cex=2, pch=19);

points(x, z, type="l", lwd=4);

abline(h=v, col="blue", lwd=4);

我正在寻找的是一些东西:

  1. 在右侧 y 轴旁边添加一个文本。我在某个地方看到有人建议使用 mtext,但它对我不起作用。没有办法使用axis命令将标签附加到右y轴吗?添加 ylab 或 lab 没有帮助。

  2. 我希望 y 轴旁边的文本颜色为蓝色和红色(以便清楚地根据图中的点,哪条曲线与哪个轴对应)。是否可以只为 y 轴的标签着色?(嗯,首先我必须为右 y 轴获得一个标签!)

  3. 我想让左 y 轴(和刻度线)的线与右 y 轴上的线一样粗。x 轴也一样。那可能吗?

4

1 回答 1

2

尝试这样的事情:

par("mar")
par(mar = c(par("mar")[1:3], 5.1))

plot(x,y, type="n", lwd=4, ylab="", xlab="threshold", xaxt="n",yaxt="n")

axis(1,lwd=4)
axis(2,lwd=4)

points(x, y, col="red", cex=2, pch=19)
abline(h=w, col="red", lwd=4)

par("usr")
par(usr = c(par("usr")[1:2], 80,90))

axis(4, lwd=4)
points(x, z, col="blue", cex=2, pch=19)
points(x, z, type="l", lwd=4)
abline(h=v, col="blue", lwd=4)

mtext("Your text", side = 4, col = "blue",line=3)
mtext("seconds", side = 2, col = "red",line=3)

在此处输入图像描述

于 2012-05-15T02:44:46.093 回答