파이썬 matplotlib 그래프 축 없애기

반응형
반응형

matplotlib로 그린 그래프 축 없애는 방법입니다.
그래프를 보기 좋게 만들기 위해서 축을 없애거나 축 범위만 없애고 싶으면 다음과 같이 합니다.

x,y는 0~10 숫자로 구성하였습니다.

x = np.linspace(0,9,11)
y = [2*i for i in x]

 

축 범위 없애기

x,y 축의 범위만 없애고 싶다면 gca().axes.axis.set_visible(False) 를 수행합니다.
x축을 없애고 싶으면 xaxis를 y축을 없애고 싶음면 yaxis를 입력합니다.

# x범위 없애기
plt.subplot(1,2,1)
plt.plot(x,y)
plt.gca().axes.xaxis.set_visible(False)#x범위 없애기
plt.title('x-axis del')

# y 범위 없애기
plt.subplot(1,2,2)
plt.plot(x,y)
plt.gca().axes.yaxis.set_visible(False)#y범위 없애기
plt.title('y-axis del')

x축,y축 범위 지우기

x,y축 둘다 없애고 싶으면 xaxis,yaxis 모두 작성합니다.

plt.plot(x,y)
plt.gca().axes.xaxis.set_visible(False)
plt.gca().axes.yaxis.set_visible(False)
plt.title('x-axis,y-axis del')
plt.show()

x,y 축 범위 모두 지우기

레이아웃 없애기

레이아웃을 없애려면 plt.axis('off')를 입력합니다.

#축 자체를 없애기
plt.plot(x,y)
plt.axis('off') 
plt.title('layout del')
plt.show()

그래프 레이아웃 없애기

일부 레이아웃만 없애기

plt.gca().spines[라벨].set_visible(False)로 레이아웃 일부만 없앨 수 있습니다.
spines의 대괄호에 들어갈 수 있는 라벨은 ['right','left','top','bottom']입니다.
리스트로 받아들여서 한꺼번에 다 되면 좋겠지만 한개씩만 적용됩니다. 여러가지를 하려면 일일히 입력해야 하는 번거로움이 있습니다.

plt.plot(x,y)
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['right'].set_visible(False)
plt.title('part of layout del')
plt.show()

마치며

마지막으로 한번에 보이게 정리하고 마칩니다.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,9,11)

y = [2*i for i in x]
plt.subplots(figsize=(15,3))

plt.subplot(1,5,1)
plt.plot(x,y)
plt.title('Default')
plt.subplot(1,5,2)
plt.plot(x,y)
plt.gca().axes.xaxis.set_visible(False)#x범위 없애기
plt.title('x-axis del')
plt.subplot(1,5,3)
plt.plot(x,y)
plt.gca().axes.yaxis.set_visible(False) #y범위 없애기
plt.title('y-axis del')
plt.subplot(1,5,4)
plt.plot(x,y)   # 축 범위만 없애기
plt.gca().axes.xaxis.set_visible(False)
plt.gca().axes.yaxis.set_visible(False)
plt.title('x-axis,y-axis del')
plt.subplot(1,5,5)
plt.plot(x,y)
plt.axis('off') #축 자체를 없애기
plt.title('layout del')
plt.show()

레이아웃, 범위 없애기

 

관련 포스팅

[matplotlib]여러개로 나누어서 그래프 출력(subplot)

ndarray 데이터로 그래프 그리기(matplotlib)

ndarray 생성하기

 

Designed by JB FACTORY