我有动态地构建线图的功能,因此,需要解决我用公式问题,而不是手动设置范围。 (注意专家:我已经为自己&其他人写了这个逻辑进程 - 道歉,这意味着更多的文字;我觉得R的帮助是特别分散和无助于绘图,所以希望这可以帮助其他人)。R:设置的轴蜱&范围包括所有点瓦特/漂亮打破
我生成的线图的坐标轴有正确的刻度间距数(默认,假设是'漂亮中断'?),但轴范围不包含整个数据范围 - 有些是外。 (你可以忽略地毯情节十分位数轴线上方,但第一&最后的显示数据范围)
那么想我是x轴的宽度,以涵盖所有数据,但保留美丽的休息时间,即将最小/最大滴答点分散到很好的值,或超过极端值......理想情况下,没有太多工作!我的意思并不是懒惰,但它感觉像是一种常见的愿望。我在读有关at
,包括pretty
和,也xaxt
和xaxs
和xpd
。
plot
xaxs
控制实际数据线在图中所占的宽度,“i”将其扩展到边距,“r”(或默认)将其稍微挤压一点。这是很酷的知道,但可以说不是人们所期望的'轴'。 (这里设置为“r”/默认)
xaxt
的帮助让我们知道它是用来关闭轴绘图的功能,但没有说明它做了什么/它们是什么类型的。
在axis
,at
控制轴线长度,默认为,默认为xaxp
。在它面前,xaxp
是我想要的,允许一个指定c(x1, x2, n)
,但是默认x1
& x2
是数据范围之内,而不是围绕它。
axis
求助说:
“的轴线从最低的at
最高值绘制的,但在情节区域被夹在默认情况下,只蜱这是从点积内绘制。区域(最多为舍入误差容限)绘制,但蜱及其标签可积区外以及延长。使用xpd = TRUE
或xpd = NA
允许轴,以进一步扩展”
无论xpd = TRUE
也不xpd = NA
似乎改变什么。 XPD求助说:
“如果FALSE,所有绘制剪裁到情节区域,如果是真的,所有的绘制剪裁到人物区域,如果不适用,所有的绘制剪裁到设备区”
即axis
帮助说xpd
控制轴扩展,xpd
帮说xpd
控制绘图裁减。
xaxp
帮助表示
“的纯的R执行本见axTicks()
”“计算漂亮的对勾标记的位置,以同样的方式为R确实在内部”,并默认为相关方的at
值,即par("xaxp")
。
pretty
似乎scarily复杂,并且很可能是什么R
在内部使用时,应用到at
计算默认的刻度标记的间隔;能够编辑这个参数并没有其他任何东西,也就是说,根据绘图区域大小指定期望的间隔数量,但是我很乐意留下这个意思,如果这意味着花费一天的时间反编译,理解,然后手动重新编译pretty
!我也不知道n
是否与n
在xaxp
中有相同的作用,如果是这样的话,它会优先考虑。
所以,R的帮助似乎用“轴”是指两轴(xaxt
,axis
)和绘图(xaxs
,xpd
),没有迹象显示该参数是否受到par
,plot
,axis
控制,或可以控制通过它们中的任何一个的组合(像往常一样)。在试图找到负责的元素,axis
说at
其中说其中说xaxp
其中说它说at
(=循环)。
作为一个次要的,更广泛的元问题:我是否在尝试找出绘制问题的答案方面做了些错误?我阅读和阅读的帮助是经常缺乏,混淆,矛盾,并通常导致直觉黑洞是否应该控制par
,plot
或axis
。先谢谢你们。对不起,这很长,我真的认为这将是一个超级简单的选择。
最小的可重复的例子:
png(filename="A.png", width=4*480, height=4*480, units="px", pointsize=80, bg="white", res=NA, family="", type="cairo-png")
par(mar=c(1.32,2,0.4,0.5), fig=c(0,1,0,1), las=1, lwd=8, bty="n", mgp=c(2,0.5,0), xpd=NA)
plot(ChickWeight[,1:2],type="l",xaxs="i",yaxs="i")
dev.off()
我没有花时间阅读所有内容,但'scales :: extended_breaks()'应该在这里帮助。 – baptiste 2014-09-22 10:56:09
谢谢。我不假设你知道是否有任何关于何处以及如何使用的信息?即par/plot/axis?我尝试在plot中添加“extended_breaks(n = 7)”,但是得到:“title(...)中的错误:不能强制类型'closure'输入'character'类型的vector。谢谢。 – 2014-09-22 12:26:18
如果你发布了一个最小可重现的例子,有人可能会告诉你 – baptiste 2014-09-22 13:33:00