ggplot2를 사용하여 R에서 동일한 x 축을 사용하여 2 개의 차트를 플로팅하는 방법은 무엇입니까?R에 동일한 X 축을 가진 두 개의 차트를 플로팅하는 방법은 무엇입니까?
내가 좋아하는 뭔가를 찾고 : 기본적인 아이디어는 당신이 하나의 열에서 y 축에 플롯 할 변수의 값을 갖도록하여, 데이터 세트를 용해하는 것입니다 http://i.stack.imgur.com/B9QT7.png
ggplot2를 사용하여 R에서 동일한 x 축을 사용하여 2 개의 차트를 플로팅하는 방법은 무엇입니까?R에 동일한 X 축을 가진 두 개의 차트를 플로팅하는 방법은 무엇입니까?
내가 좋아하는 뭔가를 찾고 : 기본적인 아이디어는 당신이 하나의 열에서 y 축에 플롯 할 변수의 값을 갖도록하여, 데이터 세트를 용해하는 것입니다 http://i.stack.imgur.com/B9QT7.png
소스를 구별하는 두 번째 열.
data("economics")
dat.m <- melt(economics, measure.vars=c("pop", "unemploy"))
그런 다음 별도의면에서 각 변수를 플롯 facet_grid를 사용 : 예를 들어
ggplot(dat.m, aes(x=date, y=value)) + geom_line() + facet_grid(variable~., scales="free_y")
야후 금융 차트는 시간 창 및 기타 기능을 이동할 수있는, 일반적으로 상호 작용한다. 비슷한 양방향 효과를 얻으려면 googleVis 패키지를 사용하는 것이 좋습니다. 플롯은 웹 브라우저에서 만들어 지므로 상호 작용할 수 있습니다. 시도 :
install.packages("googleVis");library(googleVis);demo(googleVis)
팝업 8 그래프는 시계열의 하나입니다. 그러나 이것은 ggplot이 아닙니다.
ggplot2
을 사용하는 Ista의 전략 개요는 lattice
패키지를 사용하여 달성 할 수도 있습니다. layout
통해 두 개의 행 및 하나 개의 열을 지정하고 scales
인수하여 별도의 Y 축 스케일 강제
data("economics")
dat.m <- melt(economics, measure.vars=c("pop", "unemploy"))
그렇다면 우리 xyplot
를 사용 :
xyplot(value~date|variable,data = dat.m,
panel = "panel.lines", layout = c(1,2),
scales = list(y = list(relation = "free")))
를 사용하여 동일한 데이터를 사용하여 다른 사람들이 좋은 baseR 솔루션을 언급 한 경제학 데이터 세트.
layout(matrix(1:2, ncol = 1), widths = 1, heights = c(2,1.5), respect = FALSE)
par(mar = c(0, 4.1, 4.1, 2.1))
with(economics, plot(unemploy~date, type = 'l', xaxt = 'n', main = 'My Great Graph'))
par(mar = c(4.1, 4.1, 0, 2.1))
with(economics, plot(pop~date, type = 'l'))
당신은 당신이 아니라 데이터 요소에 분할 기능을 사용하는 것보다 명시 적으로 두 개의 그래프를 만들고있어 전혀 때문에 데이터를 바꿀 필요가 없음을 알게 될 것이다
. 또한 두 그래프는 거의 모든 것이 될 수 있습니다. 두 번째 그래프는 막대 그래프 일 수 있습니다. 또한이 코드에서 원하는 상대 높이를 쉽게 설정할 수 있습니다.
(이 코드는 ggplot2 솔루션보다 훨씬 빠르게 실행됩니다 ... 중요한 점은 웹 사이트 등에서 실시간으로 업데이트하거나 데이터가 많거나 이러한 그래프를 많이 생성해야하는 경우)