R에서 2 x 2 배열로 4 개의 산점도를 그립니다 (실제로 rpy2를 통해 플롯하고 있음). 나는 각각이 종횡비 1을 가지길 원하지만 동일한 척도이기 때문에 비교할 수 있도록 모든 하위 플롯에 대해 동일한 X와 Y 틱이 표시됩니다. 나는 par
이 작업을 수행하려고 :R에 동일한 축을 가진 여러 분산 형 플롯 만들기 R
par(mfrow=c(2,2))
# scatter 1
plot(x, y, "p", asp=1)
# scatter 2
plot(a, b, "p", asp=1)
# ...
편집 :
> par(mfrow=c(2,2))
> for (n in 1:4) { plot(iris$Petal.Width, rnorm(length(iris$Petal.Width)), "p", asp=1) }
분산의하지만 서로 다른과 올바른 유형을 작성합니다
여기에 내가 지금 무엇을의 직접적인 예입니다 저울. 위의 전화 번호가 인 경우 ylim
과 xlim
을 동일하게 설정하면이 문제를 해결하지 않습니다. 각 축마다 여전히 눈금과 눈금 수가 매우 다르므로 불필요하게 해석하기가 어려워집니다. 나는 X 축과 Y 축을 동일하게하고 싶다. 예를 들어,이 :
같은 축이 모든 줄거리에 사용되는 것을 보장하는 가장 좋은 방법은 무엇입니까 :
for (n in 1:4) { plot(iris$Petal.Width, rnorm(length(iris$Petal.Width)), "p", asp=1, xlim=c(-4, 6), ylim=c(-2, 4)) }
잘못된 결과를 생성?
axis=same
또는 par(mfrow=...)
과 같은 매개 변수는 lattice
의 기본 동작처럼 들리지만 모든 서브 플로트에서 축을 공유하고 동일하게 만드는 매개 변수입니다.
lgautier는 ggplot으로 멋진 코드를 제공했지만 사전에 축을 알고 있어야합니다. 나는 각 서브 플롯의 데이터를 반복적으로 반복하지 않고 플롯되도록 정확한 틱을 계산하고 싶다는 점을 분명히 밝히고 싶습니다. 그것이 사전에 알려 져야한다면, ggplot 솔루션은 단지 plot
으로 그려지는 것보다 훨씬 더 복잡하며 명시 적으로
agstudy가 격자가있는 솔루션을 제공합니다. 이것은 내가 원하는 것에 가장 가깝게 보입니다. 각 분산에 대한 틱 위치를 명시 적으로 사전 계산할 필요는 없지만 새로운 사용자는 격자를 일반적인 플롯처럼 보이게 만드는 방법을 찾을 수 없습니다. 산출
> xyplot(y~x|group, data =dat, type='p',
between =list(y=2,x=2),
layout=c(2,2), aspect=1,
scales =list(y = list(relation='same'), alternating=FALSE))
가 :
가 어떻게이 R 기지 같은이 모양을 만들 수 있습니다 내가 들어 왔 가장 가까운이 무엇입니까? 각 하위 그림의 상단에 이러한 group
부제가 없거나 각 흩 뿌리기의 상단과 오른쪽에 레이블이 지정되지 않은 틱이 표시되도록하려면 흩어져있는 각 x와 y에 레이블을 지정하기 만하면됩니다. 또한 X 및 Y에 대한 공유 레이블을 찾고 있지 않습니다. 각 서브 플로트에는 고유 한 X 및 Y 레이블이 있습니다. 여기에서 선택한 데이터는 의미가 없지만 축 레이블은 각 분산에서 동일해야합니다.
격자를 R베이스처럼 보이게하는 쉬운 방법이 없다면, 각각의 정확한 위치를 미리 계산하지 않고 R에서해야 할 일을 할 수있는 방법이 없다는 것 (놀랍게도)입니다. 각 하위 플롯에서 눈금을 긋는다. 데이터를 미리 반복해야한다.
일반적인 눈금이 필요한 경우 ** ggplot2 ** 또는 ** 격자 **와 패 시팅 또는 트레일 링 (각각)을 사용하는 것이 훨씬 쉽습니다. – joran
ggplot2는 나에게 너무 복잡 할 수 있기 때문에, 특히 lattice를 사용하여이 작업을 수행하는 데 대한 포인터에 매우 흥미가 있습니다. – user248237dfsf
글쎄, 축의 눈금과 범위를 계산하는 것은 격자 또는 ggplot2가 후드없이 무엇을하는지입니다. 눈금과 범위가 동일하도록 새로운 플롯이 작성되면 이전 플롯을 업데이트하는 솔루션을 사용한 것으로 보입니다. 이것은 그리드로 구현 될 수 있지만 틱 마크와 범위를 미리 계산하는 것은 훨씬 적은 노력으로 보인다. – lgautier