ㄱ
안녕하세요! 오늘은 파이썬으로 하는 시각화 활용 공통 사항에 대해 포스팅 하려고 합니다.
어떤 그래프를 그려도, x축/y축/범례/제목 등은 공통적으로 지정해야 하는데요.
해당 부분이 간단해보이더라도, 시각화에서 상당히 중요한 역할을 하는 경우가 있습니다!
그래서 제가 시각화 하면서 활용했던 부분들을 정리해보려고 합니다('. • ᵕ •. `)
그래프 예시는 line plot으로 진행할 예정입니다.
line plot에 대한 자세한 내용이 궁금하신 분들은 아래 링크를 참고해주세요:)
[시각화] 파이썬 시각화 활용 - Line plot
안녕하세요! 오늘은 파이썬으로 하는 시각화 활용 Line plot에 대해 포스팅 하려고 합니다.Line plot이란?시간이나 연속적인 값을 나타낼 때 사용되는 그래프로, 일반적인 선 그래프 입니다.보통 x축
yhj9855.com
X축, Y축, 제목 설정하기
- 기본 설정하기
우선 가장 기본적으로 x축, y축, 제목을 설정하는 것부터 시작하겠습니다!
import numpy as np
import matplotlib.pyplot as plt
# 데이터 생성
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Title")
plt.plot(x, y)
- 위치 변경하기
x축, y축, 제목은 모두 위치를 변경할 수 있습니다.
위치는 두 가지 방법으로 옮길 수 있습니다.
1. pad를 사용하여 간격을 조절
import numpy as np
import matplotlib.pyplot as plt
# 데이터 생성
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.xlabel("X-axis", labelpad=40)
plt.ylabel("Y-axis", labelpad= 30)
plt.title("Title", pad=30)
plt.plot(x, y)
각 축과 제목의 간격이 멀어지신게 보이시나요?
pad 내 숫자가 커질수록 그래프와 축/제목 사이의 간격을 멀게 설정할 수 있습니다.
ㄴ
2. 좌표를 설정하여 위치를 조절
제목은 좌표를 설정해서 위치를 조절할 수 있습니다!
축의 경우에도 동일하게 좌표 설정을 할 수 있는데, 좌표대로 잘 움직이지 않아 거의 사용하지 않습니다ㅠㅠ
import numpy as np
import matplotlib.pyplot as plt
# 데이터 생성
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots(figsize=(6, 4))
# 글씨 크기 조절 가능
plt.xlabel("X-axis", fontsize=14)
plt.ylabel("Y-axis", fontsize=14)
ax.set_title("Title", fontsize=14, x=0.8, y=1.05)
plt.plot(x, y)
제목의 위치가 변경되신게 보이시나요?
x는 좌우의 위치를, y는 상하의 위치를 변경할 수 있습니다!
범례 설정하기
- 범례란?
범례는 지도나 차트 등에서 참고하라는 뜻으로 나타낸 정보입니다.
파이썬 시각화에서는 보통 각 그래프가 어떤 것을 나타내는지 표기할 때 많이 사용합니다!
아래 그래프처럼 노란색과 연두색이 각각 어떤 그래프를 나타내는지 아래쪽에 표기된 것이 범례입니다.
- 범례 생성하기
보통 범례는 자동으로 생성되는 경우가 많은데, 그래프를 각각 그릴 경우에는 범례가 생성되지 않습니다.
이 때 직접 범례를 설정하는 것도 가능합니다.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 데이터 생성
x = np.linspace(0, 10, 100)
y = np.cos(x)
y1 = np.sin(x)
line1, = plt.plot(x, y, color='lightskyblue')
line2, = plt.plot(x, y1, color='lightcoral')
# 범례 직접 설정
plt.legend(handles=[line1, line2], labels=["Cos(x)", "Sin(x)"])
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Legend Example")
plt.show()
plt.legend(handles=[line1, line2], labels=["Cos(x)", "Sin(x)"]) 여기서 loc = 옵션을 추가하게 되면 범례의 위치를 어느 정도 조정할 수 있습니다!
예를 들어 upper right 옵션으로 하게 되면, 오른쪽 위에 범례가 생성되는데요, 옵션을 정하지 않으면 가장 적당한 위치에 알아서 생성이 됩니다.
ㄷ
- 위치 변경하기
위의 사진처럼 범례가 자동으로 생성될 때 그래프를 가리는 경우를 자주 접하실 수 있는데요!
이 때 범례 위치를 변경하는 코드는 알아두시면 유용합니다:)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 데이터 생성
x = np.linspace(0, 10, 100)
y = np.cos(x)
y1 = np.sin(x)
line1, = plt.plot(x, y, color='lightskyblue')
line2, = plt.plot(x, y1, color='lightcoral')
# 범례 직접 설정
plt.legend(handles=[line1, line2], labels=["Cos(x)", "Sin(x)"], loc='lower right', bbox_to_anchor=(0.81, 0.03))
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Legend Example")
plt.show()
범례의 위치가 변경된 게 보이시나요?
지금은 예쁘게 옮긴 건 아니지만, 범례를 자유롭게 움직일 수 있는 것은 굉장히 편리하니 잘 사용해주세요!
먼저 loc 옵션을 조정하여 큰 틀의 위치를 정해주시고, bbox_to_anchor 내 좌표로 세세한 위치를 조정해주시면 됩니다:)
한글 설정하기
마지막으로 각 축, 제목, 범례를 한글로 정하는 방법에 대해서 알려드리겠습니다!
보통 한글로 설정을 하게 되면 아래 사진처럼 한글이 깨져서 나오기 때문에 한글 설정이 먼저 필요합니다.
한글 설정을 위해서는 먼저 한글 폰트를 찾아야 합니다.
C:\Windows\Fonts 해당 경로로 가시면, 컴퓨터에 설치되어 있는 폰트를 보실 수 있습니다!
이제 저희가 사용하고 싶은 폰트를 고르면 되는데, 아쉽게도 모든 폰트를 지원하지는 않습니다ㅠㅠ
파이썬은 바탕, 굴림, 궁서체 중 골라서 사용하시는게 안전합니다:) (그래도 이것저것 해보시는 걸 추천 드려요)
위의 글씨체 중 하나를 골라 마우스 오른쪽 클릭→속성→이름 복사를 하시면 되는데, 이름은 .ttc 앞까지만 복사해주세요!
※ 만약에 속성이 나타나지 않는다면, 폰트를 더블 클릭해서 들어가신 다음 진행하시면 됩니다.
간혹 HY시리즈는 이름 그대로를 사용하셔야 되는 경우도 있습니다.
예를 들면 HYPost의 경우 HYPost-Medium, HY고딕의 경우 HYGothic-Medium을 사용합니다.
ㄹ
이제 아래 코드를 실행하시게 되면 한글 지원이 가능합니다.
plt.rcParams['font.family'] = 'HYPost-Medium'
이제 한글로 잘 보이는 걸 알 수 있습니다!!
하지만 한글로 변경할 때는 종종 숫자의 마이너스가 깨지는 경우가 있어요ㅠㅠ
해당 경우는 마이너스가 지원되는 한글을 써야하는데, 저는 보통 굴림을 사용합니다.
plt.rcParams['font.family'] = 'gulim'
이제 한글과 마이너스가 모두 잘 보이는 것을 확인할 수 있습니다!
여기까지 축, 제목, 범례 활용을 정리해보았습니다!
이것저것 쓰다보니 꽤 길어졌는데요, 시각화는 예쁘면 예쁠수록 도움이 되기 때문에 세세한 부분이라도 잘 활용하시면 좋을 것 같습니다:)
특히 한글 설정 같은 경우, 글씨체가 이쁘면 보기도 좋으니 여러 폰트로 한 번 사용해보시길 추천드려요ദ്ദി・ᴗ・)✧

★읽어주셔서 감사합니다★
'Python(파이썬) > visualization(시각화)' 카테고리의 다른 글
[시각화] 파이썬 시각화 활용 - Line plot (0) | 2025.03.13 |
---|---|
[시각화] 파이썬 시각화 색상 정리 (Matplotlib, Seaborn) (1) | 2025.01.14 |