플롯 축의 눈금 간격을 어떻게 변경할 수 있습니까?
베이스 플롯 또는 함께 어떤 매개 변수를 사용해야 rgl
합니까?
답변
기본 그래프 에서이를 달성하는 데는 최소한 두 가지 방법이 있습니다 (제 예는 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의 게시물에 대한 내 업데이트 된 대답 .
답변
기본 그래픽을 사용하는 가장 쉬운 방법은 그리기 축에서 플로팅 기능을 중지 한 다음 직접 그리는 것입니다.
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)
그런 다음 다음을 사용하여 플롯의 요소를 다시 작성합니다.
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이 소수 또는 0을 추가하지 않도록하려면 … 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"))
답변
방금 Hmisc 패키지를 발견했습니다 .
데이터 분석, 고급 그래픽, 유틸리티 작업, 샘플 크기 및 검정력 계산, 데이터 세트 가져 오기 및 주석 달기, 결 측값 대치, 고급 테이블 작성, 변수 클러스터링, 문자열 조작, R 객체를 LaTeX로 변환하는 데 유용한 많은 기능이 포함되어 있습니다. 및 html 코드 및 레코딩 변수.
library(Hmisc)
plot(...)
minor.tick(nx=10, ny=10) # make minor tick marks (without labels) every 10th