matplolib/기본&입문

x,y축 라벨에 대한 기타설정하기

JackSmith 2023. 5. 27.

y=2x꼴의 그래프를 그려본다고 하자. 이때 기본적으로 적을 수 있는 코드는 아래와 같을 것이다.

 

import matplotlib.pyplot as plt

# 샘플 데이터 생성
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 그래프 그리기
plt.plot(x, y)

# x축 라벨 설정
plt.xlabel('X-axis Label')


# y축 라벨 설정
plt.ylabel('Y-axis Label')

# 그래프 표시
plt.show()

 

하지만 여기서 한가지 불편한?점이 있다. 바로 y-라벨이 90도 회전되어 나온다는 것이다.

(기본적으로 이렇게 되어 있으니, 살짝 불편하지만. 화면상의 공간효율을 위해 이걸 기본설정으로 해두었다고 생각하면,

그래도 수긍할만 하다)

 

이제 이 불편한 부분을 해결해보겠다. 바로 'plt.xlabel()' 메소드가 갖고 있는 'rotation'속성을 이용하는 것이다.

import matplotlib.pyplot as plt

# 샘플 데이터 생성
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 그래프 그리기
plt.plot(x, y)

# x축 라벨 설정
plt.xlabel('X-axis Label')


# y축 라벨 설정 및 기울기 조정
plt.ylabel('Y-axis Label', rotation=0)

# 그래프 표시
plt.show()

 

 

 

하지만 좀 아쉬운 점은 라벨의 텍스트가 좌표평면의 영역을 침범한다는 것이다.

그래서 화면 왼쪽에 여백을 추가해주고, 라벨의 위치를 조정해주도록 하겠다.

 

# 왼쪽 여백 조정
plt.subplots_adjust(left=0.2)
# y축 라벨 위치 조정(왼쪽으로 0.15만큼 이동)
plt.gca().yaxis.set_label_coords(-0.15, 0)

전체코드와 결과는 아래와 같다.

import matplotlib.pyplot as plt

# 샘플 데이터 생성
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# 그래프 그리기
plt.plot(x, y)

# x축 라벨 설정
plt.xlabel('X-axis Label')


# 왼쪽 여백 조정
plt.subplots_adjust(left=0.2)

# y축 라벨 위치 조정(왼쪽으로 0.15만큼 이동)
plt.gca().yaxis.set_label_coords(-0.15, 0)


# y축 라벨 설정 및 기울기 조정
plt.ylabel('Y-axis Label', rotation=0)

# 그래프 표시
plt.show()

댓글