Turn off axes in subplots

前端 未结 2 1979
孤独总比滥情好
孤独总比滥情好 2020-12-23 09:07

I have the following code:

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

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

f,          


        
2条回答
  •  离开以前
    2020-12-23 09:34

    You can turn the axes off by following the advice in Veedrac's comment (linking to here) with one small modification.

    Rather than using plt.axis('off') you should use ax.axis('off') where ax is a matplotlib.axes object. To do this for your code you simple need to add axarr[0,0].axis('off') and so on for each of your subplots.

    The code below shows the result (I've removed the prune_matrix part because I don't have access to that function, in the future please submit fully working code.)

    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 example

    Note: To turn off only the x or y axis you can use set_visible() e.g.:

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

提交回复
热议问题