데이터분석/파이썬 데이터 시각화

📏🎚 [Python 시각화 입문] 선 굵기와 선 모양 완전정복!

강릉원주대이형준 2025. 5. 24. 02:47
반응형

📏🎚 [Python 시각화 입문] 선 굵기와 스타일 완전정복

linewidthlinestyle 한 번에 배우기




🔷 1. 선에도 성격이 있다?

matplotlib로 그래프를 그리면 기본 선은 얇고 파란색의 실선입니다.
그런데 데이터를 여러 개 그릴 때, 또는 강조해야 할 선과 그렇지 않은 선을 시각적으로 구분하고 싶을 때,
선의 굵기와 모양(스타일)을 조절하는 것이 큰 도움이 됩니다.

굵은 실선은 중심, 얇은 점선은 보조 정보 —
이런 시각적 표현만으로도 무엇이 중요한 데이터인지 직관적으로 전달할 수 있습니다.



🔷 2. 선의 굵기 조절: linewidth 또는 lw

🔹 기본 사용 예제

import matplotlib.pyplot as plt
import matplotlib as mpl

mpl.rcParams['font.family'] = 'Malgun Gothic'
mpl.rcParams['axes.unicode_minus'] = False

x = [0, 1, 2, 3]
y = [0, 1, 4, 9]

plt.plot(x, y, linewidth=3)
plt.title("선 굵기: linewidth=3")
plt.grid(True)
plt.show()
  • linewidth=3은 선의 두께를 3pt로 설정합니다.
  • 값이 클수록 선이 굵어지고, 작을수록 얇아집니다.
  • lw=3처럼 줄여서 써도 동일하게 작동합니다.



🔹 굵기 비교 예제

widths = [0.5, 1.5, 3, 5]
labels = ['얇음(0.5)', '기본(1.5)', '굵음(3)', '매우 굵음(5)']
x = [0, 1, 2, 3]

for i, lw in enumerate(widths):
    y = [xi + i for xi in x]
    plt.plot(x, y, linewidth=lw, label=labels[i])

plt.title("선 굵기 비교")
plt.legend()
plt.grid(True)
plt.show()

✅ 실전 팁:
  • 0.5: 거의 눈에 안 띄는 보조선
  • 1.5: 기본
  • 3~5: 강조, 기준선용



🔷 3. 선의 스타일 바꾸기: linestyle 또는 ls

linestyle 속성을 사용하면 선을 실선, 점선, 대시선 등으로 바꿀 수 있습니다.
총 4가지 기본 스타일이 있으며, 문자열 또는 기호로 지정합니다.




🔹 스타일 요약표

스타일 이름 문자열 축약 기호 모양 설명
실선'solid''-'─────기본값, 일반 데이터
점선'dashed''--'─ ─ ─비교선, 추세선
점점선'dotted'':'····보조선, 경계선
점+선'dashdot''-.'─ · ─ ·분석용, 구분선




🔹 스타일별 예제 코드

styles = [
    {'ls': 'solid', 'label': "실선 (solid, '-')"},
    {'ls': 'dashed', 'label': "점선 (dashed, '--')"},
    {'ls': 'dotted', 'label': "점점선 (dotted, ':')"},
    {'ls': 'dashdot', 'label': "점+선 (dashdot, '-.')"}
]

x = [0, 1, 2, 3]

for i, style in enumerate(styles):
    y = [xi + i for xi in x]
    plt.plot(x, y, linestyle=style['ls'], linewidth=2, label=style['label'])

plt.title("선 스타일 비교")
plt.legend()
plt.grid(True)
plt.show()



🧾 설명 요약

  • ls='solid': 실선, 기본값
  • ls='--': 점선, 비교예측 선에 적합
  • ls=':': 점점선, 보조선 역할로 좋음
  • ls='-.': 점 + 선 반복, 구분용



🔷 4. 선 굵기와 스타일 함께 사용하기

y1 = [1, 2, 3, 4]
y2 = [4, 3, 2, 1]

plt.plot(x, y1, color='blue', linewidth=2, linestyle='solid', label='기본 실선')
plt.plot(x, y2, color='red', linewidth=3, linestyle='--', label='강조 점선')

plt.title("선 굵기 + 스타일 조합")
plt.legend()
plt.grid(True)
plt.show()



🔷 5. 실전에서 자주 쓰는 조합 🎯

용도 color linewidth linestyle 예시
일반 데이터'blue'1.5'solid'연속 데이터 표현
비교/예측'gray'2'--'전후 변화 시각화
기준선'black'4'-'중앙값, 경계선 등
보조선'green'0.5':'축소 강조 필요 시




🔷 6. 보너스: 축약 표기법 맛보기

plt.plot(x, y, 'r--')  # 빨간 점선
  • 'r': red
  • '--': dashed
전체 표현: '색 + 마커 + 선 스타일'
이 축약 표기법은 이후 글에서 자세히 다룰 예정입니다.



🔷 7. 요약 정리표

속성 역할 값 예시 설명
linewidth / lw선 굵기2.5포인트(pt) 단위
linestyle / ls선 모양'--', ':'4종 기본 스타일
함께 사용시각 구분color='red', lw=3, ls='--'실전에서 자주 조합




🔷 ✅ 마무리

  • 선의 굵기와 스타일은 시각화에서 ‘강조’와 ‘구분’을 표현하는 도구입니다.
  • 아주 간단한 속성이지만, 데이터를 명확하게 전달하는 데 큰 역할을 합니다.
  • 다양한 예제와 실전 팁을 참고해서, 여러분의 그래프도 더 깔끔하고 효과적으로 만들어보세요!
반응형