수백 개의 범주에 대해 왜곡된 데이터를 어떻게 시각화합니까? 이에 도움이 될 수 있는 새로운 차트 형식을 실험해 왔습니다. 나는 그것을 "포장 바"라고 부릅니다. 정렬된 막대 차트와 트리맵을 합성한 것입니다. 다음은 최근 S&P 500 시가 총액 데이터와 함께 채워진 막대 차트의 모습입니다.

파란색 "기본" 막대와 축은 시가 총액 기준으로 12대 기업을 보여주는 일반 막대 차트를 형성합니다. 각 회색 "보조" 막대는 다른 회사 중 하나를 나타냅니다. 일부 보조 막대는 공간이 허용하는 경우 레이블을 지정할 수 있지만 주된 목적은 기본 막대에 대한 컨텍스트를 제공하는 것입니다. 아이디어는 다음을 지원하는 것입니다. 포커스+컨텍스트 데이터 시각화 원리.
얼마나 많은 보조 범주가 있는지, 전체 크기는 얼마인지, 크기가 어떻게 분포되어 있는지 대략적으로 알 수 있습니다. 그리고 기본 막대와 동일한 척도에 있기 때문에 축에 걸쳐 있는 길이에서 일부 값을 추정할 수도 있습니다. 동적 표시에서 범주 레이블 및 보조 범주 값은 호버 레이블을 통해 액세스할 수 있습니다.
오른쪽 가장자리가 항상 고르게 나오지는 않지만 더 큰 보조 막대를 먼저 왼쪽에서 오른쪽으로 배치하면 일반적으로 꽤 잘 작동합니다.
예
때로는 값이 너무 왜곡되어 보조 채우기가 기본 막대를 초과하지 않습니다. 명목 GDP로 세계 경제를 도표화할 때 그런 경우가 있습니다. 이 채워진 막대 차트는 192개 세계 경제 중 상위 7개 경제를 강조합니다. (완전히 똑같지는 않다. G7 , 그런데).

4개의 기본 범주만 선택하면 미국 경제가 세계 명목 GDP의 약 4분의 1이라는 사실이 강조됩니다.

보조 범주의 합계가 기본 막대와 동일한 척도에 맞으면 이와 같이 별도의 막대로 묶을 수 있습니다.

왜곡된 데이터의 출처는 경제학만이 아닙니다. 다음은 니카르디핀 약물 시험 데이터의 부작용 수입니다.

막대의 크기는 발생 횟수를 나타내고 색상은 평균 심각도를 나타냅니다. 기본 범주에 초점을 맞추기 위해 보조 색상은 여전히 흐려지지만 실제 색상 표현이 중요한 경우 그럴 필요가 없습니다.
저를 이 길로 인도한 데이터 세트는 뉴욕시에 등록된 개의 이름 모음이었습니다. 다음은 16,000개 이상의 이름 중 상위 25개 이름을 강조하는 제 창작물입니다.

다른 묶음 막대 예제와 달리 보조 범주는 특정 개 이름 조회를 지원하기 위해 사전순 및 행별로 배치되었습니다(호버 레이블의 도움으로). 이 배열의 단점은 오른쪽 가장자리가 눈에 띄게 고르지 않다는 것입니다.
진정한 x축(트리맵과 달리)을 갖는 이점은 전체 모집단에 대한 총계를 추정할 수 있다는 것입니다. 이 경우에는 25개의 행이 있고 각 행은 카운트 축에서 4,000개를 조금 넘습니다. 개의 수는 25 x 4,000+ = 100,000+로 추정할 수 있습니다.
니카르디핀 예는 막대에 대한 연속 색상 스케일의 사용을 보여줍니다. 범주형 색상을 사용하면 페이딩으로 인해 색상 해석이 복잡해질 가능성이 적습니다. 이 개 이름 보기에서 "y" 소리로 끝나는 이름에 주황색을 사용했습니다.

변형
나는 다양한 변형을 실험해 왔으며 위의 예는 그 중 많은 것을 보여줍니다. 압축 막대 차트를 구성할 때 다음 옵션 중에서 선택할 수 있습니다.
얼마나 많은 행? 좋은 일반 불이행이 있습니까? 10과 같은 어림수를 사용하면 곱셈 트릭을 적용하여 총액을 쉽게 구할 수 있지만 종횡비가 더 중요할 수 있습니다.
보조 막대를 크기별로 왼쪽에서 오른쪽으로 배치하거나 행별로 알파벳순으로 배치하시겠습니까? 크기별 왼쪽에서 오른쪽은 각 보조 막대의 왼쪽 가장자리 위치가 행에 관계없이 크기별 정렬 순서에 해당함을 의미합니다. 막대가 클수록 왼쪽으로 멀어집니다. 어떤 의미에서는 크기 정렬된 기본 막대와 일치하며 더 깨끗한 오른쪽 가장자리의 이점이 있습니다. 같은 크기를 함께 유지하면 분포를 이해하는 데 유용할 수 있습니다. 행별 사전순은 대화형 디스플레이에서 특정 범주를 찾는 데 더 유용합니다. 보조 막대는 알파벳순으로 왼쪽에서 오른쪽으로 배치됩니다. 이내에 맨 위 행부터 시작하여 각 행.
보조 철근의 착색? 나는 임의의 회색, 희미한 색상 및 트루 컬러를 시도했습니다. 회색을 무작위로 지정하면 구분선이 불필요해집니다(연속 중복 회색 방지).
기본 바의 라벨링? 차트 영역 밖의 축에 레이블을 배치하면 막대 안에 맞추는 제약을 피할 수 있습니다. 그러나 기본 레이블을 막대 안에 넣으면 누적 막대 차트와 구분하는 데 도움이 되며 공간 효율성이 더 높아집니다.
보조 철근의 라벨링? 나는 처음에 그들의 브랜드를 강조하기 위해 보조 레이블을 선호하지 않았습니다. 문맥 역할을 맡았지만 몇 개의 레이블을 갖는 것은 무슨 일이 일어나고 있는지 잘 모르는 새로운 시청자에게 큰 도움이 될 것 같습니다.
보조 막대에 대한 별도의 스택? "기타" 스택은 데이터가 너무 왜곡되어 모든 보조 값의 합계가 기본 막대와 동일한 척도에 있을 때 가능합니다.
보조 철근 전체 또는 일부를 하나의 단단한 "기타" 영역으로 병합하시겠습니까? 그러면 대부분의 컨텍스트 측면이 유지되고 오른쪽 가장자리가 매끄럽게 표시되며 디스플레이의 노이즈가 줄어듭니다. 그러나 보조 크기의 카디널리티 및 분포에 대한 일부 정보를 제공합니다.
대안
여러 범주가 있는 편향된 데이터를 시각화하는 대체 방법과 압축 막대는 어떻게 다릅니까?
- 에 비해 막대 차트 상위 범주의 경우, 채워진 막대 차트는 나머지 범주의 컨텍스트를 얻습니다. 주요 단점은 보조 막대가 차트를 더 크게 만들고(또는 기본 막대가 축소) 레이블이나 주석에 사용될 수 있는 공간을 차지한다는 것입니다.
- 에 비해 트리맵 , 압축 막대는 일반적으로 더 정확한 데이터 표현(축의 막대 길이와 축이 없는 영역)을 갖지만 더 큰 이점은 눈에 띄는 레이블과 축 정렬 크기를 얻는 기본 범주를 볼 수 있다는 것입니다. 그러나 트리맵은 중첩 및 실제 공간 채우기(들쭉날쭉한 오른쪽 가장자리 없음)를 지원합니다. 작은 값은 1x12픽셀 막대보다 3x4픽셀 직사각형을 보는 것이 더 쉽다는 점에서 트리맵에서 더 잘 표현될 수 있습니다. 묶음 막대의 축은 정확도를 제공하지만 공간을 차지하므로 트리맵의 공간 효율성이 높아집니다.
- 에 비해 포장된 거품 (에서와 같이 원래 개 이름 거품 차트 ), 채워진 막대는 스캐닝을 위해 보다 규칙적인 배치를 가지며 데이터 값을 나타내는 데 원 영역보다 길이의 지각 이점이 있습니다. 그러나 트리맵과 마찬가지로 작은 값은 거품(지름 4픽셀 원과 1x12픽셀 막대)으로 구분하기가 더 쉬울 수 있습니다.
- 에 비해 1차원 산점도 , 채워진 막대는 기본 범주 및 누적 합계에 대한 눈에 잘 띄는 정렬된 레이블을 추가합니다. 산점도는 모든 값에 대해 정확한 위치 인코딩을 사용하고 다른 변수에 사용할 수 있는 크기 채널을 유지하는 이점이 있습니다. 그러나 과도하게 치는 것은 지터 또는 회피로 대응해야 하며, 이는 매우 왜곡된 데이터에서 문제가 될 수 있습니다.
- 에 비해 래핑 바 막대를 여러 열로 재구성하는 , 압축 막대는 더 많은 범주를 지원하는 데 도움이 되는 공간 효율적이고(100이 아닌 1,000) 압축 막대는 전체 영역 감각을 추가합니다. 래핑된 막대 보다 정확한 판독을 지원합니다. "중고등 학년" 막대 값은 기본이 정렬되어 있기 때문에 래핑된 막대는 일반 막대 차트처럼 보이기 때문에 학습 곡선이 낮아야 합니다.
단점
포장된 바에 대한 주요 비판은 다음과 유사하다는 것입니다. 누적 막대 , 각 행의 막대가 서로 관련되어 있다고 믿게 합니다. 잠재적인 혼동을 줄이기 위해 스택 막대 차트의 일반적인 것보다 스택 사이의 간격을 작게 만들었지만 제거할 수 있을지 확신이 서지 않습니다. 이점이 그 장애물보다 중요하기를 바랍니다.
다른 단점은 대부분 위에 나열된 옵션의 선택으로 해결할 수 있는 장단점입니다. 예를 들어 임의의 회색이 너무 산만해 보이는 경우 보조 막대를 다른 방식으로 색칠하거나 의도적으로 단순화하기 위해 함께 병합할 수 있습니다.
주석이 달린 가이드
이 다음 사진은 당신을 위한 것이 아닙니다. 사진만 보고 포스팅을 훑어본 분들을 위한 글입니다.

JMP에서 사용해 보세요.
이 노력은 아직 실험적이지만 압축 막대 차트의 가장 간단한 변형을 생성하기 위한 JSL 스크립트를 첨부했습니다. JMP . 먼저 압축 논리를 데이터에 적용하여 합성 행 번호와 색상 변수를 생성하는 방식으로 작동합니다. 그런 다음 채워진 막대 차트의 색상 및 배열을 사용하여 Graph Builder에서 일반 누적 막대 차트를 생성합니다.
어떻게 생각하나요?
채워진 막대가 특정 유형의 데이터에 유용할 수 있다고 생각하지만 객관적이기에는 너무 관여하고 있다는 것을 알고 있습니다. 그래서 레이아웃, 용어, 레이블 지정, 색상 등 이 노력의 모든 측면에 대한 피드백을 찾고 있습니다. 그리고 이 디스플레이에서 이점을 얻을 수 있는 데이터가 있으면 알려주십시오. 제 프로토타입을 사용하여 시도해 볼 수 있습니다. .나는 트위터 더 많은 예; 관심이 있다면 확인해보세요 성별에 따른 개 이름 그리고 제품 손상 횟수 . 다른 차트 플랫폼에서 묶음 막대 차트를 만들고 싶다면 그것도 좋습니다.
봐주셔서 감사합니다!
2017년 8월 업데이트 : 첨부된 JMP 스크립트 외에도 압축 막대 차트를 만들기 위한 Excel 추가 기능 및 d3.js 스크립트가 있습니다. 그들은에서 찾을 수 있습니다 packbars github 영역 . 애드인은 엑셀 데이터비즈 전문가와의 협업을 통해 이루어졌으며, 존 펠티어 . 포장 바 포스터가 다음을 위해 승인되었습니다. IEEE VIS 10월 컨퍼런스. 포스터 제출에는 25초 프리뷰 영상 ; 오디오 대신 캡션이 있는 애니메이션 GIF 버전이 첨부됩니다.
고마워, 마크. 파레토 얘기가 나와서 말인데, 최근 값의 수가 증가함에 따라 팩 막대와 파레토를 비교하는 애니메이션 GIF를 만들었습니다.

잔:
당신의 아이디어가 Kaiser Fung에 의해 막대 밀도 플롯.
막대는 해석하기 쉽습니다. 압축 다각형을 사용하면 압축 막대 차트에서 은색으로 표시되는 영역을 표시할 수 있습니다. 내가 아직 막대 밀도 플롯에 팔렸는지 모르겠습니다...
ps. 지난 달 위에서 비밀 자료를 분석하고 발표하기 위해 포장 막대를 사용했습니다. 표준 파레토보다 훨씬 잘 작동했습니다!
반갑습니다, Mark -- 감사합니다! 실제 데이터로 시도해 주셔서 감사합니다. 파레토 애플리케이션과 주문형 세부 정보 측면을 선택해 주셔서 감사합니다.
제가 사용할 수 있는 익명의 "비밀 자료"가 있으면 전달해 주세요. 실용적인 예가 있는 것이 항상 좋습니다.
나는 차트 갤러리를 트윗하고 있습니다, btw.
안타깝게도 JMP 13에서는 막대 간격을 쉽게 제어할 수 없습니다. 실제로 효과를 얻으려면 몇 가지 요령이 있지만 그렇지 않으면 스크립트가 압축 막대 모양과 비슷할 뿐입니다.
잔:
시원한! 나는 그것을 몇 번 실행했고 그것이 파레토 플롯에 대한 훌륭한 대안이라는 것을 알았습니다. 나는 maufacturing 개선에서 일합니다. 우리는 올바른 일을 하도록 유도하기 위해 상위 10위 차트를 많이 사용합니다. 현재 파레토 플랫폼에서는 상위 10개를 보려면 마지막(n-10) 원인 결합을 사용해야 합니다. (n-10) 원인의 세부 사항이 묻힙니다. 채워진 막대는 트리맵의 요구 사항에 대한 세부 정보가 포함된 멋진 파레토를 제공합니다.

막대 너비/간격을 어떻게 제어합니까? 내 막대 사이에 세로 간격이 있습니다.
이 게시물을 통해 흥미로운 반응이 진행되었습니다. 
내 초기 반응은 "이것은 정말 새로운 것이 아닙니다. 우리는 ... 오, 잠깐, 아니, 그것은 다릅니다 ..."라는 라인을 따라 몇 번 연속되었습니다.
이 기술은 대규모의 정렬된 데이터 세트에 대해 많은 잠재력을 가지고 있다고 생각합니다. 내가 보기에는 트리맵에 있는 단점은 이미 내재되어 있으며 이 기술은 이러한 단점을 개선한 것 같습니다.
처음에는 혼란의 가능성이 높다고 생각합니다. 경우에 따라 청중이 이것과 트리맵 또는 이것과 누적 막대의 차이점을 이해하도록 하는 것이 어려울 수 있습니다.
그러나 탐색할 가치가 충분하다고 생각하며 표준 트리맵보다 이 형식으로 내 데이터를 플롯하는 것이 *훨씬* 낫습니다.
잘 하셨어요.