4 回答
TA贡献1827条经验 获得超7个赞
在基础图中至少有两种方法可以实现此目的(我的示例适用于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"))。
TA贡献1998条经验 获得超6个赞
对于基础图形,最简单的方法是从绘图轴停止绘图功能,然后自己绘制它们。
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()
TA贡献1852条经验 获得超7个赞
我有一个数据集,其中时间为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 =...)让我可以选择极限值和增量。
TA贡献1895条经验 获得超3个赞
我刚刚发现了Hmisc软件包:
包含许多对数据分析有用的功能,高级图形,实用程序操作,用于计算样本大小和功效,导入和注释数据集,估算缺失值,高级表制作,变量聚类,字符串处理,R对象到LaTeX转换的功能和html代码,以及重新编码变量。
library(Hmisc)
plot(...)
minor.tick(nx=10, ny=10) # make minor tick marks (without labels) every 10th
- 4 回答
- 0 关注
- 791 浏览
添加回答
举报