4 回答

TA貢獻1827條經驗 獲得超8個贊
在基礎圖中至少有兩種方法可以實現此目的(我的示例適用于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 關注
- 845 瀏覽
添加回答
舉報