이 그림에는 데이터가 대략 다음과 같은 양방향 우발성 표 가 표시됩니다 .
Branded Unbranded Social Referring Direct RSS
First-time... 177276 472737 88638 265915 472737 59092
Return Visits... 236002 629339 118001 354003 629339 78667
4+ Visits in ... 166514 444037 83257 249771 444037 55505
10+ Visit in ... 28782 76751 14391 43172 76751 9594
At Least One Visit... 6707 17886 3354 10061 17886 2236
Last Touch... 660 1759 330 989 1759 220
이 음모를 구성하는 수많은 방법이 있습니다. 예를 들어, 각 직사각형 패치의 위치를 계산하고 각 패치를 별도로 도금 할 수 있습니다. 그러나 일반적으로 플롯이 데이터를 나타내는 방법에 대한 간결한 설명을 찾는 데 도움이됩니다.
출발점으로, 우리는 이것을 누적 막대 차트 의 변형으로 볼 수 있습니다 .
이 그림에는 설명이 거의 필요하지 않습니다. 친숙 함을 통해 각 직사각형 행이 우연성 테이블의 각 행에 해당한다는 것을 알고 있습니다. 직사각형의 길이는 개수에 직접 비례합니다. 그것들이 겹치지 않도록; 색상은 테이블의 열에 해당합니다.
이 테이블을 "데이터 프레임"또는 "데이터 테이블" 로 변환 하면 행 이름, 열 이름 및 개수를 나타내는 필드가있는 카운트 당 하나의 행이있는 를 표시하면 일반적으로 적절한 함수를 호출하고 찾을 위치를 지정합니다. 행 이름, 열 이름 및 개수 사용 문법 그래픽의 구현합니다 ( 대한 패키지 )이 같이 보일 것을Xggplot2
R
ggplot(X, aes(Outcome, Count, fill=Referral)) + geom_col()
막대의 너비와 사용할 색상과 같은 그래픽의 세부 사항은 일반적으로 명시 적으로 규정해야합니다. 그것이 수행되는 방법은 플로팅 환경에 달려 있습니다 (그리고 상대적으로 관심이 적습니다.
Grammar of Graphics의이 특정 구현은 막대 위치를 지정할 때 유연성이 거의 없습니다. 최소한의 노력으로 원하는 모양을 만드는 한 가지 방법은 막대가 가운데에 오도록 각 막대의 바닥에 보이지 않는 범주를 삽입하는 것입니다. 약간의 생각은 각 막대를 중앙에 배치하는 데 필요한 가짜 수는 막대의 총 길이의 평균과 가장 긴 막대의 평균 수 여야 함을 나타냅니다. 이 예에서는 값이있는 초기 열입니다.
254478.0 0.0 301115.0 897955.0 993610.5 1019817.0
다음은 가짜 데이터를 연한 회색으로 표시하는 누적 막대 그래프입니다.
원하는 열은 가짜 열의 그래픽을 보이지 않게하여 생성됩니다.
플롯 의 그래픽 문법 설명 은 변경할 필요가 없습니다. 동일한 설명에 따라 렌더링 될 다른 우발성 테이블을 제공했습니다 (가짜 열의 기본 색상 할당을 무시 함).
코멘트
이 그래픽은 정직합니다. 각 컬러 패치의 수평 범위는 왜곡없이 기본 데이터에 정비례합니다. 그것들을 원래의 (질문에서) 비교하면 왜곡이 얼마나 극단인지 (Tufte 's Lie Factor ) 가 드러납니다 .
'퍼널'하단에 세부 정보를 표시하려면 길이가 아닌 영역을 기준으로 카운트를 표시하는 것이 좋습니다. 막대의 길이를 전체 길이 의 제곱근에 비례 하고 너비 (수직 방향)를 제곱근에 비례하도록 만들 수 있습니다. 이제 '퍼널'의 맨 아래는 4 분의 1이 아닌 가장 긴 길이의 1 분의 1이되어 세부 사항을 보여줄 수 있습니다. 불행히도, ggplot2
구현에서는 변수를 막대 너비에 매핑 할 수 없으므로보다 복잡한 해결 방법이 필요합니다 (각 사각형을 개별적으로 설명합니다). 아마도 더 유연한 파이썬 구현이있을 것입니다.
참고 문헌
Edward Tufte, 양적 정보의 시각적 표시 . 체셔 프레스 1984.
Leland Wilkinson, 그래픽 문법. Springer 2005.