블로그 ·
2026년 10월 15일 · RJ Andrews
모든 두 번째 축에는 환산 비율이 있다.
세로축이 두 개인 차트는 오른쪽 축의 몇 단위가 왼쪽 축의 한 단위와 같은지 숨긴다. 축마다 서로 다른 비율을 적용하는 차트에서는 독자가 그 비율을 알기 어렵다. 항공료와 휘발유 가격이 모두 2022년 6월에 최고점을 찍었다고 하자. 두 지표에 각각 세로축을 둔 차트 하나로 두 가격을 함께 그릴 수 있다.
하지만 이런 방식은 너무 많은 것을 보여준다. 두 가지 문제가 있다.
첫 번째 문제는 가짜 교차다. 휘발유 가격을 나타내는 오른쪽 축의 범위만 바꾸고 데이터는 그대로 두면 주황색 선과 파란색 선 사이의 흥미로운 관계가 나타났다 사라진다. 연관성과 교차가 생겼다 없어지는 것이다. 애니메이션에서 데이터는 바뀌지 않지만 화면은 크게 달라진다.
이 때문에 서로 경쟁하는 두 번째 축은 나쁜 평판을 얻었다. 선이 어디서 교차하는지, 어느 선이 더 위에 있는지, 두 선이 얼마나 비슷하게 움직이는지는 축 범위를 어떻게 설정했는지에 따라 달라진다. 스티븐 퓨(Stephen Few)는 두 축의 문제를 네 단어로 표현했다. “두 선의 교차는 아무 의미가 없다.”
애니메이션에서 변하지 않는 한 가지는 두 선 모두 2022년 6월에 급등했다는 점이다. 두 번째 축은 교차나 가까운 움직임을 꾸며낼 수 있지만 시점은 바꾸지 못한다. 각 선이 언제 최고점에 이르고, 방향을 바꾸고, 오르거나 내리는지는 축을 다시 조정해도 그대로다. 이런 차트를 읽어야 한다면 시점에 주목해야 한다.
서로 경쟁하는 두 축의 선 교차는 선 그래프의 중요한 특성을 왜곡한다. 공통 축을 쓰는 차트에서 두 선이 교차하면 한 수치가 다른 수치를 넘어섰다는 실제 변화다. 윌리엄 플레이페어(William Playfair)는 수출입 차트에서 이런 교차를 여러 차례 보여줬다. 아래 그림에서는 곡선 사이의 공간을 음영 처리하고 무역수지가 영국에 유리한지 불리한지도 표시했다.
윌리엄 플레이페어, 「1700~1780년 덴마크와 노르웨이를 오가는 수출입」(1786).
두 축 차트를 꼭 써야 한다면 dbt Charts는 경고와 함께 차트를 그린다.
$ dct render charts/airfares.yml ⚠ 1 warning: WARN-DUAL-AXIS-COMPETING-SCALES Chart 'airfares': 'gas' is drawn against its own y-axis, separate from 'fares'. The two scales are set independently, so where the marks cross, which one sits higher, and how closely they track are artifacts of the axis ranges, not the data: readers will see a relationship that may not exist. Fix: Show each measure in its own chart, stacked so they share the x-axis. To compare trends in one chart, index both series to a common start (e.g. 100) in the query so they share one axis; to show how one measure moves with the other, plot them as a scatter. If the second series is the same quantity in another unit (°F/°C, $/€), remove the layer and relabel the chart's opposite edge with `style.axis_y.mirror` and an `expr` that converts the value (for example `format(datum.value * 1.8 + 32, '.0f')`): one scale, two unit labels. Where the audience expects this form, list the code in the chart's `warnings_ignore:`.
대시보드를 만드는 에이전트에도 같은 경고가 JSON으로 전달된다. 잘못된 소프트웨어 기본값이 여러 세대의 차트 제작자에게 두 번째 축을 쓰도록 가르쳤고, 이제 에이전트도 그 방식에 익숙해졌기 때문에 중요하다.
경고가 제안하는 대안은 일반적인 차트 설계 방식이다. 왼쪽부터 지표마다 차트를 따로 만들거나, 두 지표의 관계를 산점도로 나타내거나, 두 지표를 같은 시작점을 기준으로 지수화하는 방법이다.
지수 차트는 각 계열을 기준 월의 값으로 나눠 두 계열이 모두 100에서 시작하게 한다. 다른 지점은 기준 월 대비 변화율로 읽는다. 하지만 지수 차트도 비슷한 문제를 안고 있다. 기준 월을 바꾸면 두 선이 서로 어떤 관계로 보이는지가 달라진다. 아래 그림은 검은 점으로 표시한 기준 날짜를 바꿨을 때 같은 데이터가 어떻게 다르게 보이는지 보여준다.
시각적 왜곡은 여전히 남는다. 칼 G. 카르스텐(Karl G. Karsten)은 한 세기 전 『차트와 그래프(Charts and Graphs)』에서 지수의 경우 “분명히 어떤 기준을 고르느냐에 따라 많은 것이 달라진다”고 경고했다.
두 번째 문제는 서로 경쟁하는 격자선이다. 두 축 차트의 두 번째 문제는 관심을 덜 받는 격자선 충돌이다. 축마다 눈금이 따로 있고, 각 눈금은 자체 격자선을 만든다. 첫 번째 차트를 다시 보자. 회색 가로선들은 서로 맞지 않는 두 눈금 체계를 한 화면에 겹쳐 놓은 것처럼 보인다. 어느 선이 어느 눈금에 속하는지 알 수 없다.
차트는 서로 경쟁하는 격자선을 여러 방식으로 처리해왔다. 오래된 방법은 한 축의 색을 해당 선의 색과 맞추는 것이다. 카르스텐은 1923년에 이 방법을 권했다. 파이낸셜타임스의 존 번머독(John Burn-Murdoch)은 2022년 차트에서 한 걸음 더 나아갔다. 각 격자선에 해당 축의 색을 적용하고, 선이 차트 영역을 가로지를수록 색을 옅게 했다.
존 번머독, 파이낸셜타임스(2022), Datawrapper를 통해 공개.
격자선 문제를 더 간단히 해결하려면 한쪽 격자선만 남기고 두 축의 라벨은 모두 유지하거나, 두 번째 축의 눈금 간격을 어색하게 조정해 기본 축의 격자선을 함께 쓰게 할 수 있다. 격자선이 차트 영역 안으로 들어오지 않게 하는 방법도 있다.
윌리엄 플레이페어는 생애 후반에 격자선 충돌을 해결하는 독창적인 방법을 제시했다. 여러 색의 계열을 단위가 없는 공통 숫자 격자 위에 그린 것이다. 각 계열에는 자체 단위가 붙었다. 아래 세부 그림은 그가 세상을 떠난 뒤 출간된 1824년판 차트에서 가져왔다. 격자선의 20은 빵 가격을 나타내는 선에서는 20 파딩/쿼턴 빵 한 덩이를 뜻하고, 수출 곡선에서는 2천만 파운드를 뜻한다.
윌리엄 플레이페어, 「1770~1824년 수입·지출·부채·주가·빵값을 보여주는 선형 연대표」(1824).
플레이페어의 단위 없는 격자는 격자선이 뒤엉키는 문제를 해결한다. 하지만 첫 번째 문제인 가짜 교차는 남는다.
한 세기 뒤 카르스텐은 승용차와 트럭을 공통 격자에 그렸다. 트럭 축은 승용차 축의 5분의 1로 설정하고 그 비율을 차트 옆에 표시했다. 그는 이를 “두 세로축을 배치하는 올바른 방법”이라고 불렀다. 하지만 트럭 선은 선택한 비율 때문에 1918년에 승용차 선을 넘어선다. 실제로 두 수치가 교차한 것은 아니다.
칼 G. 카르스텐, 『차트와 그래프(Charts and Graphs)』(1923), 그림 145 「두 세로축을 배치하는 올바른 방법」.
카르스텐의 차트는 글의 앞부분에서 말한 환산 비율을 페이지에 명시한다. 그 격자에서는 트럭 한 대가 승용차 다섯 대에 해당한다. 이 비율은 피트와 미터처럼 사실에 근거할 때도 있다. 기후도처럼 섭씨 10도와 강수량 20밀리미터를 연결하는 관례일 수도 있다. 이 경우 강수량 선이 기온 선 아래로 내려가면 항상 건조한 달을 뜻한다. 지수 차트에서는 기준 월이 환산 비율을 정한다. 서로 경쟁하는 두 축 차트에서는 차트 제작자가 비율을 정하지만 독자는 그 선택을 알 수 없다.
두 번째 축이 모두 문제인 것은 아니다. 서로 경쟁하는 축이 두 번째 축의 익숙한 사례일 뿐, 전체 이야기는 아니다. 두 번째 축 가운데는 정직한 축도 있다. 환산 비율이 선택이 아니라 사실에 근거한 경우다.
플레이페어의 잘 알려진 1821년 밀 가격 차트는 양쪽에 같은 실링 눈금을 표시해, 차트의 반대편에서도 눈금을 읽을 수 있게 했다.
윌리엄 플레이페어, 「1565~1821년 밀 1쿼터 가격과 주급 노동 임금을 한눈에 보여주는 차트」(1822).
축을 반대편에 그대로 표시하는 방식은 특히 폭이 넓은 차트에 유용하다. dbt Charts에서는 style.axis_y 아래에 mirror: true 한 줄을 넣으면 된다.
정직한 두 번째 축의 또 다른 형태는 하나의 눈금을 두 단위로 표기하는 변환 축이다. 제임스 글레이셔(James Glaisher)가 1871년에 출간한 『항공 여행(Travels in the Air)』에는 카미유 플라마리옹(Camille Flammarion)이 1867년 파리에서 프로이센의 졸링겐까지 열기구를 타고 비행한 경로가 실렸다. 오른쪽에는 미터, 왼쪽에는 피트가 표시되어 있다. 격자선 눈금은 하나이고, 같은 값을 두 단위로 읽는다.
제임스 글레이셔 편, 『항공 여행(Travels in the Air)』(1871), 「1867년 7월 14~15일 플라마리옹 씨의 파리에서 프로이센 졸링겐까지의 열기구 비행 경로」.
변환 축은 미터법과 야드파운드법, 통화, 시간대를 함께 보여줘야 하는 경우에 도움이 된다. mirror에 true 대신 expr을 지정하면 dbt Charts가 차트 반대편 축을 다른 단위로 다시 표시한다.
교과서도 일찍부터 변환 축을 권했다. 윌러드 브린턴(Willard Brinton)은 1914년 기관차 석탄 사용량을 왼쪽에 백만 톤 단위로, 오른쪽에 백만 달러 단위로 표시한 누적 막대 차트를 그렸다. 그는 이를 두고 “같은 데이터를 두 가지 관점에서 해석할 수 있다”고 설명했다.
윌러드 브린턴, 『사실을 표현하는 그래픽 방법(Graphic Methods for Presenting Facts)』(1914), 그림 4.
글 첫머리의 차트로 돌아가 보자. 애니메이션의 모든 장면에서 항공료와 휘발유 가격은 모두 2022년 6월에 최고점을 찍었다. 선이 교차하는 위치와 두 선이 얼마나 비슷하게 움직이는지는 아무도 밝히지 않은 환산 비율에서 비롯됐다.
이것이 이중 축과 서로 경쟁하는 축의 차이다. 피트와 미터처럼 정의로 정해지는 단위를 변환하는 축은 환산 비율을 공유한다. 반대편에 같은 눈금을 표시하는 축은 1 대 1 비율을 쓴다. 반면 서로 경쟁하는 축은 환산 비율이 불분명하다. 차트를 만든 사람조차 양쪽 축의 관계를 명시적으로 정하거나 인정하지 않는 경우가 있다.
두 번째 축을 추가하기 전에 누가 환산 비율을 정하는지 물어야 한다. 답이 아무도 없다면 다른 시각화를 고려해야 한다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요