R绘图函数中不需要的默认粗坐标轴线

4
当我在R中制作任何图形时,它总是会在周围框架的编号部分产生更粗的轴线。这很麻烦,因为我必须始终在plot()中关闭轴线,然后以零宽度重新绘制它们。我注意到其他实验室同事的电脑似乎没有这个问题,这让我想知道问题出在哪里。
图1生成了我不想要的粗轴线,图2解决了这个问题:
x<-c(1:10)
y<-c(1:10)
# Plot 1
plot(x,y, main="Plot 1")
# Plot 2
plot(x, y, xaxt='n', yaxt='n', main="Plot 2")
axis(1, lwd=0, lwd.ticks=1)
axis(2, lwd=0, lwd.ticks=1)

我在Mac OSX 10.9.4上运行RStudio 0.98.501。

如果您有任何关于错误原因的想法,非常感谢。谢谢。

enter image description here

enter image description here


现在你应该可以添加那些图片了。 - jbaums
@jbaums - 太好了,谢谢并已编辑。 - MBeck
2
在某些系统上(可能是由于抗锯齿设置等原因),坐标轴的某些部分会显得更粗,因为盒子和坐标轴的线条是相互绘制的(执行 plot(x, y, bty='n') 可以看到坐标轴仅延伸到外部刻度)。当我遇到这个问题时,通常会在所有其他绘图命令之后执行 box()(或例如 box(lwd=2)),这样可以使其不那么明显。 - jbaums
@jbaums 是的,你说得对,它们确实是在彼此之上绘制。重新绘制框的技巧可以用来掩盖事物 - 尽管制作符合出版要求的图形(即线条粗细)仍然需要添加额外的步骤...尽管与其他所有事情相比较小。真的只是一个视觉上的默认烦恼,我想摆脱它。 - MBeck
如果你愿意深入学习ggplot2,这个讨论可能会给你一些启示:http://r.789695.n4.nabble.com/ggplot2-Controlling-line-width-of-panel-borders-td3075489.html - Carl Witthoft
1个回答

0
你可以创建一个新的绘图函数,以下类似的代码应该可以工作:
plot = function(x, y, ...){
    plot(x, y, xaxt='n', yaxt='n')
    axis(1, lwd=0, lwd.ticks=1)
    axis(2, lwd=0, lwd.ticks=1)
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接