PROGRESS
8 / 10
단원
넘파이(NumPy) 기초 13
데이터프레임 생성과 편집 9
데이터 탐색과 필터링 12
데이터 집계와 통계 13
데이터 시각화(matplotlib) 10
파일 입출력(CSV, Excel, JSON) 10
전체 목록
QUESTION 08 #378
프로그래밍 언어 인기도를 가로 방향 막대 그래프로 시각화하는 프로그램입니다. 빈칸을 채우세요.
main.py
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
langs = ['Python', 'Java', 'JavaScript', 'C++', 'Go']
popularity = [35, 25, 20, 12, 8]
# 가로 방향 막대 그래프를 그립니다.
plt.(langs, popularity, color='skyblue')
plt.title('Language Popularity')
plt.xlabel('Popularity (%)')
plt.show()
print("1위:", langs[0])
print("언어 수:", len(langs))
HINT
힌트: 세로 막대가 bar()라면, 가로(horizontal) 막대는 barh()입니다. h는 horizontal(수평)의 약자입니다.
실행 결과 예시
1위: Python 언어 수: 5
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
가로 막대 그래프 (Horizontal Bar Chart)
plt.barh()는 막대를 가로 방향으로 그리는 함수입니다.
bar() vs barh() 비교
plt.bar() 세로: plt.barh() 가로:
■ Python ■■■■■■■■■■
■ ■ Java ■■■■■■■
■ ■ ■ JavaScript■■■■■■
■ ■ ■ ■ ■ C++ ■■■■
+-+-+-+-+- Go ■■■
P J J C G
| 비교 | bar() (세로) | barh() (가로) |
|---|---|---|
| 막대 방향 | 위로 ↑ | 오른쪽으로 → |
| x축 | 항목 이름 | 값 (숫자) |
| y축 | 값 (숫자) | 항목 이름 |
언제 가로 막대를 사용할까?
| 상황 | 추천 |
|---|---|
| 항목 이름이 긴 경우 | barh() ✅ |
| 항목이 많은 경우 (10개+) | barh() ✅ |
| 항목이 적고 이름이 짧은 경우 | bar() |
| 순위(랭킹) 표현 | barh() ✅ |
색상 지정
# 단일 색상
plt.barh(langs, popularity, color='skyblue')
# 각 막대별 다른 색상
colors = ['gold', 'silver', '#cd7f32', 'gray', 'lightgray']
plt.barh(langs, popularity, color=colors)
정렬해서 보여주기
데이터를 크기순으로 정렬하면 더 읽기 쉽습니다:
# 판다스와 함께 활용
df = pd.DataFrame({'언어': langs, '인기도': popularity})
df_sorted = df.sort_values('인기도')
plt.barh(df_sorted['언어'], df_sorted['인기도'])
💡 핵심: 항목 이름이 길거나 많을 때는
barh()가bar()보다 읽기 편합니다.