如何更改绘图轴上刻度线的间距?
我应该在底图或底图上使用哪些参数rgl
?
Answers:
在基础图中至少有两种方法可以实现此目的(我的示例适用于x轴,但适用于y轴):
使用par(xaxp = c(x1, x2, n))
或plot(..., xaxp = c(x1, x2, n))
定义极限刻度线的位置(x1
&x2
)以及刻度线之间的间隔数(n
)。因此,n+1
绘制的刻度线数。(这仅在不使用对数标度的情况下有效,有关对数标度的行为,请参见?par
。)
您可以完全取消轴的绘制,以后再使用来添加刻度线axis()
。
要抑制轴的绘制,请使用plot(... , xaxt = "n")
。
然后调用axis()
与side
,at
和labels
:axis(side = 1, at = v1, labels = v2)
。以side
轴的侧面(1 = x轴,2 = y轴)为参考,v1
是包含刻度线位置的向量(例如,c(1, 3, 5)
如果您的轴范围是0到6,并且您需要三个标记),并且v2
一个包含指定刻度线标签的向量(长度必须与v1
,例如相同c("group a", "group b", "group c")
)。有关此方法的示例,请参阅?axis
和我对stats.stackexchange上的帖子的更新答案。
formatC
或prettyNum
创建要传递到的字符向量labels
。例如:formatC(seq(0,2,0.5), digits = 1, format = "f")
n
实际上是刻度线的数量-1
。我想要从1
到的刻度线,9
并且必须设置,xaxp = c(1, 9, 8)
否则我将无法获得理想的结果。
par(xaxp..)
。仅当我将其放入plot(xaxp...)
对于基本图形,最简单的方法是从绘图轴停止绘图功能,然后自己绘制它们。
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()
las
可以添加到的调用中的par中的图形参数,该参数axis()
控制刻度标签的方向。例如axis(side = 1, at = c(1,5,10), las = 2)
。您可能想调查是否有axis()
用于chron对象的函数,或者考虑使用R的Date Time类,它们已经具有axis()
函数(例如,axis.Date()
对于“ Date”类)。
我有一个数据集,其中时间作为x轴,强度作为y轴。我首先需要使用以下命令删除所有默认轴(轴标签除外):
plot(Time,Intensity,axes=F)
然后,使用以下命令重建图的元素:
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,...,1000。这seq(from =...,to =...,by =...)
让我可以选择限制和增量。
而且,如果您不希望R添加小数或零,则可以使用... axt阻止它绘制x轴或y轴或两者。然后,您可以添加自己的刻度和标签:
plot(x, y, xaxt="n")
plot(x, y, yaxt="n")
axis(1 or 2, at=c(1, 5, 10), labels=c("First", "Second", "Third"))
flag
使用yaxt=flag
BUT变量以编程方式打开和关闭此功能,其窍门是,如果要打开标准标签,然后设置flag <- "s"
,如果不希望再使用标准标签flag <- "n"
(添加此标签,因为它花了我一个而找到“ s”)