문제

히스토그램 및 산점도 좋은 방법의 데이터 시각화 간의 관계는 변수이지만,최근에 나었는지 궁금했습니다 무엇에 대해 시각화 기법을 내가 없습니다.당신은 무엇을 생각하는 대부분의 과소형의 줄거리?

답해야 한다:

  1. 되지 않을 매우 일반적으로 사용 습니다.
  2. 이해할 수 있없이 좋은 거래 의 배경을 토의한다.
  3. 에 적용되는 많은 일반적인 상황입니다.
  4. 포함한 재현 가능한 코드를 만들기 예나(R)연결된 것 이미지 니다.
도움이 되었습니까?

해결책

정말 동의 다른 포스터는: 터프 책상 고 잘 읽을 가치가있다.

첫째,내가 당신을 가리 킵 매우 좋은 튜토리얼에 ggplot2 및 ggobi 에서"보고서"데이터이다.는 것을 강조하고 하나의 시각화에서 R,두 그래픽 패키지(으로는 사용되지 않는 기초로 널리 이용됩 그래픽,격자,또는 ggplot):

히트 맵

내가 정말 좋아한 시각화를 처리할 수 있는 다변량 데이터,특히 시리즈이다. 히트 맵 유용할 수 있습니다.중 하나는 정말 깔끔한 하나에 의해 추천 데이비드 스미스 혁명에서 블로그.여기에 ggplot 코드를 예의 해들리:

stock <- "MSFT"
start.date <- "2006-01-12"
end.date <- Sys.Date()
quote <- paste("http://ichart.finance.yahoo.com/table.csv?s=",
                stock, "&a=", substr(start.date,6,7),
                "&b=", substr(start.date, 9, 10),
                "&c=", substr(start.date, 1,4), 
                "&d=", substr(end.date,6,7),
                "&e=", substr(end.date, 9, 10),
                "&f=", substr(end.date, 1,4),
                "&g=d&ignore=.csv", sep="")    
stock.data <- read.csv(quote, as.is=TRUE)
stock.data <- transform(stock.data,
  week = as.POSIXlt(Date)$yday %/% 7 + 1,
  wday = as.POSIXlt(Date)$wday,
  year = as.POSIXlt(Date)$year + 1900)

library(ggplot2)
ggplot(stock.data, aes(week, wday, fill = Adj.Close)) + 
  geom_tile(colour = "white") + 
  scale_fill_gradientn(colours = c("#D61818","#FFAE63","#FFFFBD","#B5E384")) + 
  facet_wrap(~ year, ncol = 1)

는 끝나고 다소 다음과 같다:

alt text

RGL:Interactive3D 그래픽

또 다른 패키지는 잘 노력을 가치가 배우가 RGL, 는 쉽게를 만들 수 있는 기능을 제공합니다 interactive3D graphics.많은 예제가 있습니다 온라인 이에 대한(등에서 rgl 문서 참고).

R-위키는 좋은 예제 의하는 방법을 플롯 3D 산형을 사용하여 rgl.

GGobi

또 다른 패키지를 알고 가치가입 rggobi.가 한 스프링에 책 주제, 의 위대한 설명서를 참조하십시오/예제를 포함하여,온라인에서 "보고서"데이터 물론입니다.

다른 팁

나는 정말 좋아한다 닷 플롯 그리고 적절한 데이터 문제에 대해 다른 사람들에게 추천 할 때 그들은 항상 놀랍고 기뻐합니다. 그들은 많이 사용하지 않는 것 같습니다. 왜 그런지 알 수 없습니다.

Quick-R의 예는 다음과 같습니다.dotplot on car data

클리블랜드는 이들의 개발과 공포에 가장 책임이 있다고 믿고 있으며, 그의 책의 예는 (도트 플롯으로 결함이있는 데이터가 쉽게 감지 된) 그들의 사용에 대한 강력한 주장이라고 생각합니다. 위의 예제는 한 줄 당 하나의 점만 표시되는 반면, 실제 힘은 각 라인에 여러 개의 점이 있으며, 전설을 설명합니다. 예를 들어, 세 가지 시점에 다른 기호 나 색상을 사용할 수 있으므로 다른 범주에서 시간 패턴을 쉽게 얻을 수 있습니다.

다음 예제 (모든 것의 Excel에서 완료되었습니다!)에서 라벨 스왑으로 어떤 범주가 겪었는지 명확하게 알 수 있습니다.

Dotplot with 2 groups

플롯을 사용하여 극좌표를 확실히 사용하지 않--일부는 말할 것과 이유가 있습니다.나는 생각한 상황이 정당화하는 이들의 사용은 일반적이지 않습니다;또한 생각하는 경우 그 상황이 발생할,북극 플롯을 수 있는 패턴을 찾는 데이터는 선형 플롯을 할 수 없습니다.

나는 생각하기 때문에 때때로 당신의 데이터 극보다는 선형--예를 들어,그것은 순환(x 좌표를 나타내는 시간 동안 하루 24 시간을 통해 여러 일),또는 데이터전에 매핑하는 극지 기능을 공간이다.

예제는 다음과 같습니다.이 그림을 보여줍 웹사이트의 의미 교통량에 의해 시간입니다.두 가지 스파이크에서 10pm and1am.사이트에 대한 의 네트워크 엔지니어들은 중요하며그것은 또한 상당한 그들 가까이에 생기는 각각 다른 다른(그 두 개의 시간을 별도).하지만 경우에 당신은 그릴에 같은 데이터 전통적인 좌표계,이 본 것은 완전히 은폐--표시 선형적으로,이러한 두 가지 스파이크 것 20 시간 외에도,그들은,하지만 그들은 또한 두 시간 간격에서 연속적인 일입니다.극 차트 위에 보여줍이에서는 인색하고 직관적 인 방법(전설이 필요하지 않).

Polar chart showing site traffic, with peaks at hours 1 and 22

는 두 가지 방법이 있습니다(알고 있어요)을 플롯을 만들 수처럼을 사용하여 이를 R(만든 플롯을 위 w/R).하나는 코드는 자신의 기능 중 하나에서 기지 또는 표 그래픽 시스템입니다.그들은 다른 방법으로,어느 것이 쉽고,사용 원형 패키지.이 기능을 사용하는 것이'상승했다.diag':

data = c(35, 78, 34, 25, 21, 17, 22, 19, 25, 18, 25, 21, 16, 20, 26, 
                 19, 24, 18, 23, 25, 24, 25, 71, 27)
three_palettes = c(brewer.pal(12, "Set3"), brewer.pal(8, "Accent"), 
                   brewer.pal(9, "Set1"))
rose.diag(data, bins=24, main="Daily Site Traffic by Hour", col=three_palettes)

산란 플롯에 너무 많은 지점이있어 완전한 혼란이되면 스무딩 된 산점도를 사용해보십시오. 예는 다음과 같습니다.

library(mlbench) ## this package has a smiley function
n <- 1e5 ## number of points
p <- mlbench.smiley(n,sd1 = 0.4, sd2 = 0.4) ## make a smiley :-)
x <- p$x[,1]; y <- p$x[,2]
par(mfrow = c(1,2)) ## plot side by side
plot(x,y) ## left plot, regular scatter plot
smoothScatter(x,y) ## right plot, smoothed scatter plot

그만큼 hexbin 패키지 (@Dirk EddelBuettel에서 제안)는 동일한 목적으로 사용되지만 smoothScatter() 그것이 속한 이점이 있습니다 graphics 패키지, 따라서 표준 R 설치의 일부입니다.

Smiley as a regular or smoothed scatter plot

Sparkline 및 기타 Tufte 아이디어와 관련하여 yaletoolkit 패키지 켜기 크랜 기능을 제공합니다 sparkline 그리고 sparklines.

더 큰 데이터 세트에 유용한 다른 패키지는 다음과 같습니다 헥빈 순진한 산점도에 비해 너무 큰 데이터 세트를 처리하기 위해 '쓰레기'데이터를 버킷에 영리하게 처리합니다.

바이올린 음모 (박스 플롯을 커널 밀도와 결합한)는 비교적 이국적이며 매우 시원합니다. 그만큼 Vioplot R의 패키지를 사용하면 매우 쉽게 만들 수 있습니다.

다음은 예입니다 (Wikipedia 링크에는 예를 보여줍니다).

enter image description here

내가 방금 검토 한 또 다른 좋은 시계열 시각화는 "범프 차트" (등장한대로 "Learning R"블로그 의이 게시물). 이것은 시간이 지남에 따라 위치의 변화를 시각화하는 데 매우 유용합니다.

당신은 그것을 만드는 방법에 대해 읽을 수 있습니다 http://learnr.wordpress.com/, 그러나 이것은 다음과 같습니다.

alt text

나는 또한 Tufte의 BoxPlots 수정을 좋아하는 것을 좋아합니다.이 박스 플롯은 수평으로 매우 얇고 중복 잉크로 플롯을 혼란스럽지 않기 때문에 작은 배수 비교를 훨씬 쉽게 수행 할 수 있습니다. 그러나 상당히 많은 범주에서 가장 잘 작동합니다. 줄거리에 몇 가지만 있다면 일반 (Tukey) Boxplots는 조금 더 많은 멍청이가 있기 때문에 더 좋아 보입니다.

library(lattice)
library(taRifx)
compareplot(~weight | Diet * Time * Chick, 
  data.frame=cw , 
  main = "Chick Weights",
  box.show.mean=FALSE,
  box.show.whiskers=FALSE,
  box.show.box=FALSE
  )

compareplot

다른 종류의 Tufte BoxPlot 포함을 만드는 다른 방법은 다음과 같습니다. 이 질문에서 논의했습니다.

수평선 그래프 (PDF), 한 번에 많은 시계열을 시각화하기위한 (PDF).

병렬 도표를 좌표합니다 다변량 분석을위한 (PDF).

협회 그리고 모자이크 음모, 우발 테이블을 시각화하기위한 (참조 VCD 패키지)

우리는 귀엽고 (역사적으로) 중요한 줄기와 잎 음모를 잊지 말아야합니다 (Tufte도 좋아합니다!). 데이터 밀도와 모양에 대한 직접 숫자 개요를 얻습니다 (물론 데이터 세트가 약 200 포인트보다 크지 않은 경우). R에서는 기능입니다 stem 줄기와 잎 외치를 생성합니다 (작업 공간에서). 나는 사용하는 것을 선호한다 gstem 패키지에서 기능 FMSB 그래픽 장치에 직접 그립니다. 아래는 STEM-leaf 디스플레이에서 비버 체온 분산 (데이터가 기본 데이터 세트에 있어야 함)입니다.

  require(fmsb)
  gstem(beaver1$temp)

enter image description here

Tufte의 훌륭한 작품 외에도 William S. Cleveland의 책을 추천합니다. 데이터 시각화 그리고 그래프 데이터의 요소. 그것들은 훌륭 할뿐만 아니라 R에서 모두 이루어졌으며 코드를 공개적으로 사용할 수 있다고 생각합니다.

박스 플롯! R 도움의 예 :

boxplot(count ~ spray, data = InsectSprays, col = "lightgray")

제 생각에는 데이터를 빠르게 살펴 보거나 분포를 비교하는 가장 편리한 방법입니다. 보다 복잡한 분포의 경우 확장이 호출됩니다 vioplot.

모자이크 음모는 언급 된 네 가지 기준을 모두 충족시키는 것처럼 보입니다. R에는 모자이크 플롯 아래의 예가 있습니다.

Edward Tufte의 작품과 특히 확인하십시오 이 책

당신은 또한 시도하고 잡을 수 있습니다 그의 여행 프레젠테이션. 그것은 꽤 좋고 그의 책 중 4 개 묶음이 포함되어 있습니다. (나는 그의 출판사의 주식을 소유하고 있지 않다고 맹세한다!)

그건 그렇고, 나는 그의 Sparkline 데이터 시각화 기술을 좋아합니다. 놀라다! Google이 이미 작성하여 내려 놓았습니다. Google 코드

요약 플롯? 이 페이지에서 언급했듯이 :

요약 통계 및 불확실성 시각화

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top