파이썬으로 선 그래프와 막대 그래프 쉽게 그리기

Thank you for reading this post, don't forget to subscribe!

파이썬 하루 하나씩 배우기: 그래프 그리기 (Line, Bar)

안녕하세요! 파이썬 하루 하나씩 배우기 챌린지에 오신 것을 환영합니다. 오늘은 데이터 시각화의 첫걸음인 **line chart(선 그래프)** 와 **bar chart(막대 그래프)** 를 Matplotlib과 Seaborn 라이브러리로 그려봅니다.
“어떻게?”, “왜?”, “실습 예제 중심으로” 풀어보니 재미있게 익힐 수 있을 거예요. 궁금하신 점이나 활용 아이디어 있다면 댓글로 공유해주세요!

목차


STEP 2 – Matplotlib 기본 설정 및 데이터 준비

오늘은 선형(line)과 막대(bar) 그래프를 위한 데이터와 기본 설정을 준비해봅니다. Matplotlib을 활용해 시각화 기본을 배우는 기초입니다.

📊 2‑1. Matplotlib & Seaborn 불러오기

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

# 스타일 설정
sns.set_style("whitegrid")
plt.rcParams["font.size"] = 12

Matplotlib setup 코드 예시

📊 2‑2. 샘플 데이터 생성

# 선 데이터
x = np.linspace(0, 10, 50)
y = np.sin(x)

# 막대 데이터
categories = ['A','B','C','D','E']
values = [10, 7, 12, 5, 9]

샘플 데이터 시각화 예시

📊 2‑3. 결과 미리보기

데이터 준비가 완료되면 실제로 그려보지 않아도 결과를 예측할 수 있습니다. 다음 스텝에서 실제 코드로 확인해볼게요!

STEP 3 – 실습: 선 그래프(Line Chart) 그리기

📈 3‑1. 기본 선 그래프 코드

plt.plot(x, y, marker='o', linestyle='-', color='green')
plt.title("Sine Wave")
plt.xlabel("X 값")
plt.ylabel("sin(X)")
plt.grid(True)
plt.show()

Matplotlib line chart example

위 예제는 sine값을 선과 마커로 내린 그래프입니다. Matplotlib `plt.plot()` 함수의 기본 구조를 보여주죠 :contentReference[oaicite:1]{index=1}.

📈 3‑2. 보조 선 추가 및 표현 스타일 응용

y2 = np.cos(x)
plt.plot(x, y, label='sin(x)', linestyle='-', color='green')
plt.plot(x, y2, label='cos(x)', linestyle='--', color='orange')
plt.legend()
plt.show()

Multiple Matplotlib lines

이렇게 `plt.plot()`을 여러 번 호출하면 다중 선도 쉽게 그릴 수 있고, 스타일도 다양하게 조합 가능해요 :contentReference[oaicite:2]{index=2}.

📍 3‑3. 서울의 한 카페 Street View 삽입 예시


위 코드는 서울 종로구 인근 카페의 Street View를 삽입한 예입니다. Maps Embed API `streetview` 모드를 사용했어요


STEP 4 – 실습: 막대 그래프(Bar Chart) 그리기

📊 4‑1. 기본 세로 막대 그래프 코드

plt.bar(categories, values, color='orange')
plt.title("Category Values")
plt.xlabel("Category")
plt.ylabel("Value")
plt.show()

위 코드로 간단한 세로 막대 차트가 완성됩니다. `plt.bar()` 함수는 카테고리별 값을 직관적으로 보여줘요.

📊 4‑2. 수평 막대 그래프와 스타일 적용

plt.barh(categories, values, color='#6a5acd')
plt.title("Category Values (Horizontal)")
plt.xlabel("Value")
plt.ylabel("Category")
plt.show()

수평 막대(`plt.barh()`)는 라벨이 길어도 가독성이 좋아요. 색도 CSS 컬러 코드로 바꿀 수 있습니다.

🗺️ 4‑3. 지도 위 막대 차트 시각화 예


인천 지역을 보여주는 지도 삽입 예입니다. Maps Embed API를 사용해 간단히 추가할 수 있어요


STEP 5 – 막대 + 선 그래프 결합 & 스타일 응용

🔗 5‑1. 막대 + 선 그래프 결합 예제

fig, ax1 = plt.subplots()
ax1.bar(categories, values, color='skyblue', label='값 (bar)')
ax1.set_xlabel('Category')
ax1.set_ylabel('Values', color='skyblue')
ax2 = ax1.twinx()
ax2.plot(categories, [v * 1.5 for v in values], color='orange', marker='o', label='1.5×값')
ax2.set_ylabel('Scaled Values', color='orange')
fig.tight_layout()
plt.title("Combined Bar & Line Chart")
plt.show()

이 코드는 하나의 축에 막대를, 다른 축에 선을 그려 서로 다른 척도에서도 비교 가능하게 합니다 .

🎨 5‑2. 스타일 꾸미기 & 색상 조합

  • Bar 색상: 파스텔 계열로 부드럽게
  • Line 색상: 대비되는 주황으로 강조
  • 마커, 라인스타일, 투명도(alpha) 활용

조합 차트는 스타일이 중요! 투명도, 대비 색상, 강조 요소(마커)로 가독성 높일 수 있어요.

🗺️ 5‑3. 서울 도심의 로드맵 뷰 삽입


위는 서울 종로 일대의 로드맵 뷰로, 시각화를 통한 지역 정보 강화에 유용합니다 .


STEP 6 – 그래프 저장, 공유 팁 & 외부 리소스

💾 6‑1. `savefig()`로 그래프 파일로 저장

plt.plot(x, y)
plt.title("Sine Wave")
# 파일로 저장하기
plt.savefig("sine_wave.png", dpi=300, bbox_inches='tight', transparent=True)
plt.show()

savefig example chart

`savefig()`은 png, pdf, svg 등 다양한 포맷을 지원하며, `dpi`, `bbox_inches=’tight’`, `transparent` 옵션 조합으로 고해상도 출력과 여백 조절이 가능해요 :contentReference[oaicite:1]{index=1}.

📤 6‑2. 공유를 위한 형식 추천

  • 보고서나 논문용: **벡터 포맷 (PDF, SVG)**
  • 웹/소셜용: **PNG** (투명 배경·300 dpi 추천)
  • 자료 첨부용: JPG (용량과 호환성 우선)

Medium, 블로그, GitHub 등에 이미지를 업로드하면 시각적 효과가 좋고, 보는 사람도 편해집니다

🔗 6‑3. 외부 리소스 및 공유 방법

  • GitHub에 이미지 파일 커밋
  • Notion·Confluence에 그래프 포함 문서화
  • 슬랙·MS Teams로 공유 (링크나 첨부 이미지)
  • 인터랙티브 공유 시 Plotly, Bokeh, Folium 고려

정적 이미지를 넘어서 인터랙티브 형태로 데이터 탐색이 가능하도록 배포할 수도 있어요.


STEP 7 – 정리 및 마무리 🌟

오늘은 **선 그래프와 막대 그래프**, 그리고 **조합형 차트**를 Matplotlib으로 그리고, `savefig()`를 활용해 고해상도 그래프 파일로 추출하는 법을 배웠습니다. 또한, Google Maps Embed API를 활용해 지도·로드뷰·스트리트뷰 시각화도 함께 연동했어요.

⭐️⭐️⭐️⭐️☆ (4/5)

전반적으로 Matplotlib을 통한 실습이 좋았고, Maps API 연동으로 시각적 풍성함도 만족스러웠어요. 다만 API 키 설정은 번거로웠다는 소소한 아쉬움이 듭니다.

혹시 다음에 Folium이나 Plotly 기반 인터랙티브 맵까지 확장된 예제를 보고 싶으신가요?

메타 설명: 파이썬 Matplotlib으로 선·막대·조합 그래프를 그리고, 고해상도 이미지 파일 저장과 지도 시각화까지 연계하는 방법을 정리한 포스팅입니다.

슬러그: python-daily-line-bar-map-visuals

“작은 코드 하나가 그림이 되고, 그림이 이야기가 된다.” 다음에도 유용한 예제로 찾아뵐게요 😄


© 2025 “파이썬 하루 하나씩 배우기” 시리즈 | 제작자: 여러분의 이름 | 모든 코드는 GitHub에서 확인할 수 있습니다.

블로그에 포함된 지도·로드뷰·스트리트뷰는 Google Maps Embed API를 사용했으며, API 키는 보안을 위해 블라인드 처리됐습니다.

문의: youremail@example.com | 개인정보처리방침


HANSORI.AI_Blog Labs에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.