如何完善以下R图?

时间:2012-05-30 20:46:44

标签: r plot

我在R中有以下情节:

x = c(0, 1e-10, 1e-08, 1e-06, 1e-05, 0.001, 0.1);
y = c(22000, 21490, 17252, 9204, 6118, 5092, 4998);
z = c(85.59, 85.59, 85.58, 85.49, 85.29, 85.29, 85.29);

x1 = c(0, 1e-10, 1e-08, 1e-06, 1e-05, 0.001, 0.1);
y2 = c(22000, 20039, 15185, 7705, 5436, 5223, 4933);
z2 = c(85.59, 85.59, 85.58, 85.53, 85.46, 85.49, 85.49);

y = y / 60;

y2 = y2 / 60;


x = log(x);

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, type = "l", lwd=4)

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

points(x, y2, lwd=4, type="o", lty=2, col="black");

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

par("usr")
par(usr = c(par("usr")[1:2], 84,86))

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

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

points(x, z2, type="l", col="black", lty=2, lwd=4)

points(x, z2, col="blue", cex=2, pch=15)


mtext("Measure1", side = 4, col = "blue",line=3)
mtext("Measure2", side = 2, col = "red",line=3)

这对我来说几乎是完美的,但我只想根据以下内容进行调整:

  1. 左侧y轴和x轴 - 它们更大胆,但由于某种原因,粗体部分未在轴上拉伸所有

  2. 我想让数字和标签的字体更大一些,也许是粗体字体。

  3. 我甚至可能想把字体更改为Times,但从我在网上看到的情况来看,这听起来很麻烦。

  4. 谢谢!

1 个答案:

答案 0 :(得分:0)

正如@thelatemail在上面的评论中提到的,您的第一个问题可以通过函数box来回答:

box(lwd=4)

如果您只希望轴的边为粗体,则需要添加bty参数:

box(lwd=4, bty="u") # For all the different kind of boxes see ?par.

要更改标签的字体和大小,您必须在fontcex.lab语句中使用参数cex.axisplotaxis

axis(1, font=2, cex.axis=1.1) #font=2 correspond to bold face. See ?par for more information

最后,对于字体,您可以使用参数family,但它对所有类型的输出设备都有不同的作用。您可以在?x11this answer的“字体”部分找到有关该主题的更多信息。

axis(1, family="Times") #This will work with Cairo devices for example.

以下是cex.axis设置为1.1,粗体字体和粗体U形框以及Times字体的情节: enter image description here