Ale*_*lex 18 plot curve r axes
假设我想绘图x^2
.我可以使用curve()
如下.
curve(x^2, -5, 5)
Run Code Online (Sandbox Code Playgroud)
但是,我希望轴经过(0,0).我可以做如下的事情:
curve(x^2, -5, 5, axes=FALSE)
axis(1, pos=0)
axis(2, pos=0)
abline(h=0)
abline(v=0)
Run Code Online (Sandbox Code Playgroud)
我最终得到了类似下面的东西,看起来还不错.但我唯一的抱怨是,这种绘制轴的方式使得实际轴 - 例如x轴的-4到4之间的段 - 比右侧和左侧的段厚.y轴也是如此.我想知道是否有更好的方法来绘制轴.谢谢!
jub*_*uba 16
默认情况下,axis()自动计算刻度标记位置,但您可以使用at
参数手动定义它们.因此,解决方法可能是这样的:
curve(x^2, -5, 5, axes=FALSE)
axis(1, pos=0, at=-5:5)
axis(2, pos=0)
Run Code Online (Sandbox Code Playgroud)
这使 :
问题是您必须手动确定每个刻度线的位置.稍微好一点的解决方案是使用axTicks
函数(默认情况下使用的函数)计算它们,但使用自定义axp
参数调用此函数,该参数允许您分别指定轴中刻度线的最小值,最大值和间隔数:
curve(x^2, -5, 5, axes=FALSE)
axis(1, pos=0, at=axTicks(1,axp=c(-10,10,10)))
axis(2, pos=0)
Run Code Online (Sandbox Code Playgroud)
这使 :