2012-04-14 4 views
1

회전 된 X 축이있는 산점도를 찾고 있습니다. 기본적으로 2 개의 Y 축 사이의 상관 관계를 그려야합니다. 이상적으로, 나는 X 축은 시간을 나타내고, Y 축이 상관 관계2 개의 Y 축 사이에 플롯 상관 관계

data <- data.frame(words = c("Aliens", "Aliens", "Constitution", "Constitution", "Entitled", "Entitled"), 
       dates = as.Date(c ("2010-01-05", "2010-02-13", "2010-04-20", "2010-06-11","2010-03-18", "2010-09-13")), 
        Rep = c(.18, .14, .16, .45, .33, .71), Dem = c(.16, .38, .24, .11, .59, .34)) 

을 표현해야하고 싶습니다 그리고 이것은 내가 지금까지 할 수 있었던 것입니다. 나는 그것이 실제로 요점을 얻는다라고 생각하지 않는다. 나는 상관 관계와 색상으로 한 달에 크기를 정할 수 있습니까?

plot(x=data$dates, y=data$Rep, ylim=c(0,1.1*max(data$Rep)), 
col='blue', pch = 15, 
main='Rep Correlations stock close', xlab='date', ylab='Republican') 
axis(2, pretty(c(0, 1.1*max(data$Rep))), col='blue') 
par(new=T) 
plot(x=data$date, y=data$Dem, ylim=c(0,1.1*max(data$Dem)), 
col='green', pch = 20, 
xaxt='n', axes = F, xlab = '', ylab='') 
axis(4, pretty(c(0, 1.1*max(data$Dem))), col='green') 
mtext("Democrat",side=4) 

어떤 생각이나 요령이 있으십니까?

+0

당신이 Rep'와'Dem''사이의 상관 관계를보고 싶은 경우에, 요 2 y 축 대신에 2 변량 플롯을 사용해야합니다. 당신이 제안한 것처럼 시간을 엔코 드하기 위해 색을 사용할 수도 있지만, 모션 차트를 사용하는 것도 좋은 방법입니다. 또한 언급 한 것처럼 포인트 크기를 사용하여 세 번째 변수를 인코딩 할 수도 있습니다. 이것은 "모션 버블 차트"입니다. 다음은 효과를 매우 잘 보여주는 예입니다. http://code.google.com/p/google-motion-charts-with-r/ –

+0

고마워요! 모션 차트를 가지고 놀았지만 찾을 수있는 코드에서부터 googlviz 버전은 시간이 며칠이나 몇 년 만에 허용됩니다. 다른 말로하면, 날짜를 한 달에 한 번씩 가져올 수 없었습니다. 나는 또한 2 변량 플롯에 너무 익숙하지 않다. 이게 당신이 의미 한거야? [그래프 갤러리] (http://addictedtor.free.fr/graphiques/graphcode.php?graph=104) – crock1255

답변

2

위 @ JohnColby의 코멘트에 위로 다음 (당신이 그것을 도울 수 있다면 당신은 하지 듀얼 y 축 플롯을 생성해야하는 이유 인수, How can I plot with 2 different y-axes?http://rwiki.sciviews.org/doku.php?id=tips:graphics-base:2yaxes 참조), 방법에 대해 :

dat <- data ## best not to use reserved words -- it can cause confusion 
library(ggplot2) 
theme_update(theme_bw()) ## I prefer this theme 
## code months as a factor 
dat$month <- factor(months(dat$dates),levels=month.name) 
dat <- dat[order(dat$dates),] 
qplot(Rep,Dem,colour=month,data=dat)+ 
    geom_path(aes(group=1),colour="gray")+geom_point(alpha=0.4)+ 
    geom_text(aes(label=words),size=4) 

가 (추가 점 사이에 선 후 다시 세우고 그들이 선으로 가려하지 않을 수 있도록 포인트를, 단어를 추가하는 귀여운하지만 전체 데이터 세트에 대한 너무 많은 혼란)

enter image description here

수 있습니다 연속 변수 (두 변수가 같은 규모로 측정)이 특정 상황에서

ggplot(dat,aes(Rep,Dem,colour=dates))+ 
    geom_path(aes(group=1),colour="gray")+geom_point(alpha=0.4)+ 
    geom_text(aes(label=words),size=4)+ 
    expand_limits(x=c(0,0.9)) 
ggsave("plotcorr2.png",width=6,height=3) 

enter image description here

, 날짜 축에 둘 다 음모를 꾸미고 아무 문제도 없다 같은

또는 인코딩 날짜 :

library(reshape2) 
library(plyr) 
m1 <- rename(melt(dat,id.vars=c("words","dates","month")), 
      c(variable="party")) 

ggplot(m1,aes(dates,value,colour=party))+geom_line()+ 
    geom_text(aes(label=words),size=3)+ 
    expand_limits(x=as.Date(c("2009-12-15","2010-10-01"))) 
ggsave("plotcorr3.png",width=6,height=3) 

enter image description here

+0

나는 이것을 좋아한다. 이중 축 문제에 대한 나의 이해는 서로 다른 축척에 있었다는 것입니다. 내 사고는이 경우에 그들은 같은 비늘을 지니고 있기 때문에 괜찮을 것이라고 생각했지만, 나는 그것을 좋아한다. 감사합니다. – crock1255

+0

네 말이 맞아. 나는 생각하지 않았다. 이 경우 두 변수를 같은 눈금으로 플롯하는 것이 좋습니다. 'matplot'은 기본 R 그래픽에서 그것을 할 것이고, 재구성은'ggplot'에서 선호되는 접근법입니다. –