본문 바로가기
파이썬

파이썬 Turn off axes in subplots

by º기록 2020. 12. 9.
반응형

다음 코드가 있습니다.

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib.cm as cm

img = mpimg.imread("lena.jpg")

f, axarr = plt.subplots(2, 2)
axarr[0,0].imshow(img, cmap = cm.Greys_r)
axarr[0,0].set_title("Rank = 512")

rank = 128
new_img = prune_matrix(rank, img)
axarr[0,1].imshow(new_img, cmap = cm.Greys_r)
axarr[0,1].set_title("Rank = %s" %rank)

rank = 32
new_img = prune_matrix(rank, img)
axarr[1,0].imshow(new_img, cmap = cm.Greys_r)
axarr[1,0].set_title("Rank = %s" %rank)

rank = 16
new_img = prune_matrix(rank, img)
axarr[1,1].imshow(new_img, cmap = cm.Greys_r)
axarr[1,1].set_title("Rank = %s" %rank)

plt.show()

그러나 결과는 축의 값으로 인해 매우 추합니다.

여기에 이미지 설명 입력

모든 서브 플롯의 축 값을 동시에 끄려면 어떻게해야합니까?

 

해결 방법

 



아래 코드는 결과를 보여줍니다 (해당 함수에 액세스 할 수 없기 때문에 prune_matrix 부분을 제거했습니다. 나중에 완전히 작동하는 코드를 제출해주세요 ).

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib.cm as cm

img = mpimg.imread("stewie.jpg")

f, axarr = plt.subplots(2, 2)
axarr[0,0].imshow(img, cmap = cm.Greys_r)
axarr[0,0].set_title("Rank = 512")
axarr[0,0].axis('off')

axarr[0,1].imshow(img, cmap = cm.Greys_r)
axarr[0,1].set_title("Rank = %s" % 128)
axarr[0,1].axis('off')

axarr[1,0].imshow(img, cmap = cm.Greys_r)
axarr[1,0].set_title("Rank = %s" % 32)
axarr[1,0].axis('off')

axarr[1,1].imshow(img, cmap = cm.Greys_r)
axarr[1,1].set_title("Rank = %s" % 16)
axarr[1,1].axis('off')

plt.show()

Stewie 예제

참고 : x 또는 y 축만 끄려면 set_visible () 을 사용할 수 있습니다. 예 :

axarr[0,0].xaxis.set_visible(False) # Hide only x axis

 

참조 페이지 https://stackoverflow.com/questions/25862026

 

 

반응형

댓글