更改graphics轴上刻度线的间距?
我怎样才能改变曲线轴上刻度线的间距?
我应该使用底图或rgl
使用哪些参数?
至less有两种方法可以在基本图中实现这一点(我的示例是针对x轴的,但针对y轴的工作方式相同):
-
使用
par(xaxp = c(x1, x2, n))
或plot(..., xaxp = c(x1, x2, n))
来定义极限刻度的位置(x1
&x2
)刻度线(n
)之间的间隔。 因此,n+1
是绘制的刻度线的数量。 (这只有在你不使用对数尺度时才有效,因为对数尺度的行为见?par
。) -
您可以完全禁止轴的绘制,并稍后使用
axis()
添加刻度线。
抑制轴使用plot(... , xaxt = "n")
。
然后用side
,at
和labels
调用axis()
:axis(side = 1, at = v1, labels = v2)
。side
是指轴的边(1 = x轴,2 = y轴),v1
是一个包含刻度位置的向量(例如,如果轴的取值范围是0,则c(1, 3, 5)
到6,你需要三个标记),v2
包含指定刻度标记的vector(必须与v1
长度相同,例如c("group a", "group b", "group c")
) 。 有关此方法的示例,请参阅?axis
和我已更新的stats.stackexchange上的post的答案 。
使用基础graphics,最简单的方法是停止绘制坐标轴的绘图function,然后自己绘制。
plot(1:10, 1:10, axes = FALSE) axis(side = 1, at = c(1,5,10)) axis(side = 2, at = c(1,3,7,10)) box()
我有一个数据集与时间作为X轴,强度作为Y轴。 我需要先删除除了轴标签的所有默认轴:
plot(Time,Intensity,axes=F)
然后我用以下方法重build剧情元素:
box() # create a wrap around the points plotted axis(labels=NA,side=1,tck=-0.015,at=c(seq(from=0,to=1000,by=100))) # labels = NA prevents the creation of the numbers and tick marks, tck is how long the tick mark is. axis(labels=NA,side=2,tck=-0.015) axis(lwd=0,side=1,line=-0.4,at=c(seq(from=0,to=1000,by=100))) # lwd option sets the tick mark to 0 length because tck already takes care of the mark axis(lwd=0,line=-0.4,side=2,las=1) # las changes the direction of the number labels to horizontal instead of vertical.
所以, at = c(...)
指定了放置刻度线的位置的集合。 在这里,我想把标记置于0,100,200,…, seq(from =...,to =...,by =...)
给我select限制和增量。
如果你不想R添加小数或零,你可以停止绘制x轴或y轴或两者都使用… axt。 然后,您可以添加自己的刻度和标签:
plot(x, y, xaxt="n") plot(x, y, yaxt="n") axis(1 or 2, at=c(1, 5, 10), labels=c("First", "Second", "Third"))