Python/Matplotlib

[Matplotlib] plt 축 범위 설정 함수 - xlim, ylim, axis

jimmy_AI 2021. 11. 8. 00:35
반응형

저번 포스팅에 이어 이번 포스팅에서는

matplotlib (plt) 라이브러리 내에서 x축과 y축의 범위를 설정할 수 있는 함수들의 사용법을

간단하게 알아보겠습니다.

 

plt 축 범위 설정 함수 1 - xlim, ylim

축의 범위가 변경된 경우 그래프의 변화를 쉽게 알 수 있도록

삼차 함수 1개를 임의로 그려보도록 하겠습니다. 코드는 다음과 같습니다.

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-3, 10, 0.01)
y = x ** 3 - 10 * x ** 2 + 6 * x + 100
plt.plot(x, y)
plt.show()

$$ y = x^3 - 10x^2 + 6x + 100$$

이라는 함수를 x축의 범위를 -3 ~ 10으로 두고그린 예시입니다.

삼차 함수가 잘 그려져 있고 극대, 극소점도 어느정도 뚜렷하게 확인되는 듯 합니다.

이제 x축의 범위가 0 ~ 7까지인 부분만 확대해서 보고 싶습니다.

다음과 같이 코드 한 줄만 추가해주시면 매우 간단하게 됩니다!

x = np.arange(-3, 10, 0.01)
y = x ** 3 - 10 * x ** 2 + 6 * x + 100
plt.plot(x, y)
plt.xlim(0, 7) # x축 범위 0~7로 지정
plt.show()

x축의 범위가 0~7인 부분만 확대가 된 것이 보이시나요?

x축의 양 끝에 0과 7의 눈금이 명확하게 확인되는 것을 보니 축 범위 지정이 잘 된 듯합니다.

 

이번에는 x축의 범위를 전체로 두고 y축의 범위를 0 ~ 100인 부분으로 제한해보겠습니다.

x = np.arange(-3, 10, 0.01)
y = x ** 3 - 10 * x ** 2 + 6 * x + 100
plt.plot(x, y)
plt.ylim(0, 100) # y축 범위 0 ~ 100으로 지정
plt.show()

이번에도 코드 한 줄 추가로 매우 간단하게 y축의 범위가 지정된 것을 확인해보실 수 있습니다!

 

물론, 필요하시다면 xlim 함수와 ylim 함수를 동시에 사용하셔도 좋습니다!

반응형

plt 축 범위 설정 함수 2 - axis

이번에는 축의 범위를 다룰 수 있는 또다른 함수인 axis 함수에 대해서 간단하게 다루어보겠습니다.

axis 함수로 축의 범위를 지정하는 방법은

[xmin, xmax, ymin, ymax] 순서로 4개의 인자를 리스트 등의 자료형에 묶어서 넣어주면 됩니다.

x축의 범위를 0 ~ 7, y축의 범위를 0 ~ 100으로 두고 함수를 다음과 같이 적용시켜보겠습니다!

x = np.arange(-3, 10, 0.01)
y = x ** 3 - 10 * x ** 2 + 6 * x + 100
plt.plot(x, y)
plt.axis([0, 7, 0, 100]) # x축의 범위 0 ~ 7, y축의 범위 0 ~ 100 지정
plt.show()

이번에도 함수의 축이 잘 지정된 것을 보실 수 있습니다.

 

axis 함수에는 여러 인자를 넣어 축에 관한 다양한 기능을 적용해보실 수도 있는데요.

예를 들어 plt.axis('off') 처럼 지정해주시면 축을 지울 수도 있습니다.

x = np.arange(-3, 10, 0.01)
y = x ** 3 - 10 * x ** 2 + 6 * x + 100
plt.plot(x, y)
plt.axis('off') # 축 지우기
plt.show()

x축과 y축이 말끔히 지워진 상태를 확인하실 수 있습니다!

 

이 plt의 axis 함수는 자동 축 범위나 x축과 y축의 scale 동일화 등 다른 기능들도 제공하고 있습니다.

해당 함수의 세부적인 다양한 기능을 확인해보고 싶으시다면 다음 링크의 공식 document를 참고해주시면 됩니다.

https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axis.html

 

matplotlib.pyplot.axis — Matplotlib 3.4.3 documentation

Parameters: xmin, xmax, ymin, ymaxfloat, optionalThe axis limits to be set. This can also be achieved using ax.set(xlim=(xmin, xmax), ylim=(ymin, ymax)) optionbool or strIf a bool, turns axis lines and labels on or off. If a string, possible values are: Va

matplotlib.org

 

다음 포스팅에서는 축의 제목 및 차트의 제목을 지정하는 방법을 말씀드리겠습니다.