[DATA-007][중급] 비교가 잘 보이는 표와 그래프 만들기 > IT 기술 공유

본문 바로가기
사이트 내 전체검색

IT 기술 공유

[DATA-007][중급] 비교가 잘 보이는 표와 그래프 만들기

페이지 정보

profile_image
작성자 기술팀장
댓글 0건 조회 123회 작성일 26-09-02 22:40

본문

[이번 수업]
독자가 해야 할 비교를 먼저 정하고 알맞은 표와 그래프를 선택합니다. 같은 예제 데이터로 정확한 값과 범주별 크기를 함께 보여줍니다.

[선수지식]
DATA-004의 SQL 집계, DATA-005의 표 데이터 처리, DATA-006의 평균·분산·상관 해석을 알고 Python과 터미널을 실행할 수 있어야 합니다.

[학습목표]
1. 분석 질문에 맞는 표와 그래프를 고른다.
2. 축·단위·기간·분모를 빠뜨리지 않는다.
3. 색에만 의존하지 않는 읽기 쉬운 비교를 만든다.

[핵심개념]
먼저 “독자가 무엇을 비교해야 하는가?”를 한 문장으로 씁니다. 정확한 값 조회는 표, 여러 범주의 크기 비교는 막대그래프, 시간에 따른 변화는 선그래프, 값의 퍼짐은 히스토그램, 두 수치의 관계는 산점도가 기본 선택입니다. 전체에서 각 부분의 비중은 누적 막대로 볼 수 있습니다. 하나의 복잡한 그래프보다 질문별로 단순한 그래프를 나누는 편이 낫습니다.

표는 제목·기간·단위·출처를 적고, 문자는 왼쪽, 숫자는 오른쪽에 정렬합니다. 같은 열은 소수 자릿수와 단위를 통일하고 합계가 필요한 경우 검산합니다. 0은 실제 값이 없음, 빈칸은 미수집 또는 미확정일 수 있으므로 같은 뜻으로 표시하지 않습니다. 순서가 의미 없으면 값으로 정렬하고 시간·등급처럼 자연스러운 순서가 있으면 그 순서를 지킵니다.

그래프 제목은 무엇을 그렸는지 중립적으로 설명합니다. 막대그래프는 길이로 크기를 비교하므로 값 축을 0에서 시작합니다. 축에는 단위를, 비율에는 분모와 모집단을, 표본 자료에는 표본 크기를 적습니다. 장식용 3차원 효과, 과도한 색, 중복 범례는 비교를 방해합니다. 색만으로 항목을 구분하지 말고 직접 레이블, 선 모양, 기호나 순서를 함께 사용하며 읽을 수 있는 대비를 확보합니다.

[따라하기]
아래 코드를 `simple_chart.py`로 저장합니다. 가상 주문 자료를 값이 큰 순서로 정리하고, 정확한 표와 0부터 시작하는 가로 막대를 함께 출력합니다.

```python
orders = [("검색", 12), ("추천", 7), ("직접", 15)]
orders.sort(key=lambda row: row[1], reverse=True)
total = sum(count for _, count in orders)

print("예제 기간: 2026-08-01~2026-08-07 | 단위: 주문 건")
print("채널 | 주문 | 비율 | 막대(1칸=1건)")
for name, count in orders:
    print(f"{name} | {count:>2} | {count / total:>5.1%} | {'#' * count}")
print(f"합계 | {total:>2} | {1:>5.1%} |")
```

Windows PowerShell에서는 `py simple_chart.py`, macOS·Linux 터미널에서는 `python3 simple_chart.py`를 실행합니다. 예상 결과는 다음과 같습니다. 글꼴에 따라 공백 너비는 조금 달라도 숫자와 막대 길이는 같아야 합니다.

```text
예제 기간: 2026-08-01~2026-08-07 | 단위: 주문 건
채널 | 주문 | 비율 | 막대(1칸=1건)
직접 | 15 | 44.1% | ###############
검색 | 12 | 35.3% | ############
추천 |  7 | 20.6% | #######
합계 | 34 | 100.0% |
```

항목 이름으로 값도 확인할 수 있어 색 없이 읽히며 기간·단위·정렬·0 기준도 드러납니다.

[흔한 실수]
- 시간 변화가 아닌 범주 비교에 선그래프를 사용한다.
- 막대 축을 0보다 크게 시작해 작은 차이를 과장한다.
- 비율만 표시하고 분모·모집단·표본 크기를 숨긴다.
- 0, 결측값과 수집하지 않은 값을 같은 것으로 처리한다.
- 색과 범례를 늘리고 직접 레이블·대체 표를 제공하지 않는다.

[보안 주의]
실습은 가상 데이터만 사용합니다. 실제 자료를 공유할 때는 이름·연락처·계정 식별자 같은 개인정보를 제거하고 소수 집단이나 희귀 조합으로 개인을 다시 알아볼 위험도 확인합니다. 원본 경로, 내부 시스템 이름, 비밀값이 제목·레이블·주석·파일 메타데이터에 들어가지 않게 점검합니다. 집계표와 그래프에도 접근 권한과 보존 정책을 적용합니다.

[직접 해볼 과제]
`기타` 채널 4건을 추가해 합계와 비율이 100%인지 확인하세요. 같은 데이터를 입력 순서와 값 내림차순으로 각각 출력하고 어느 순서가 범주 비교에 더 쉬운지 이유를 씁니다. 마지막으로 기간·단위·출처·분모가 모두 있는지 체크합니다.

[확인문제]
1. 정확한 값 조회와 범주 크기 비교에는 각각 무엇이 알맞나요?
2. 일반적인 막대그래프의 값 축은 어디에서 시작해야 하나요?
3. 색 외에 항목을 구분하는 방법에는 무엇이 있나요?

[다음 학습]
다음 SWE-007에서는 업무 규칙을 코드의 도메인 모델로 표현합니다.

[공식 참고 자료]
- 정부 데이터 시각화 지침: https://analysisfunction.civilservice.gov.uk/policy-store/data-visualisation-charts/
- 막대그래프 지침: https://service-manual.ons.gov.uk/data-visualisation/chart-types/bar-charts
- 그래프 색상 지침: https://service-manual.ons.gov.uk/data-visualisation/colours/using-colours-in-charts
- WCAG 색상 사용 기준: https://www.w3.org/WAI/WCAG22/Understanding/use-of-color
- Python 문자열 형식: https://docs.python.org/3/library/string.html#format-specification-mini-language

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : 회사명 / 대표 : 대표자명
주소 : OO도 OO시 OO구 OO동 123-45
사업자 등록번호 : 123-45-67890
전화 : 02-123-4567 팩스 : 02-123-4568
통신판매업신고번호 : 제 OO구 - 123호
개인정보관리책임자 : 정보책임자명

접속자집계

오늘
4,594
어제
6,862
최대
16,772
전체
770,545
Copyright © 소유하신 도메인. All rights reserved.