2016-02-27 1 views
0

je le code suivant:Remodeler pyplot intrigue secondaire

def plot_yz_over_x_elementwise(zarray): 
    for i in range(zarray.shape[1]): 
     for j in range(zarray.shape[2]): 
      plt.subplot2grid((zarray.shape[1],zarray.shape[2]),(i,j)) 
      plt.plot(zarray[:,i,j]) 
      frame = plt.gca() 
      frame.axes.get_xaxis().set_ticks([]) 
      frame.axes.get_yaxis().set_ticks([1,0.5,0]) 

qui prend un tableau de np 3D et il trace dans une figure comme celui-ci:

enter image description here

Ce qui est intégré dans un ordinateur portable ipython . Ce dont j'ai besoin, c'est d'un moyen de formater ce graphe afin que les étiquettes des axes ne soient pas les unes sur les autres. Je suppose que cela signifie soit le déployer sur le cahier ... soit le rétrécir dans chaque cellule en python. Comment puis-je faire l'un ou l'autre pour que cette intrigue semble correcte?

Répondre

2

tight_layout pourrait être ce que vous cherchez

def plot_yz_over_x_elementwise(zarray): 
    for i in range(zarray.shape[1]): 
     for j in range(zarray.shape[2]): 
      plt.subplot2grid((zarray.shape[1],zarray.shape[2]),(i,j)) 
      plt.plot(zarray[:,i,j]) 
      frame = plt.gca() 
      frame.axes.get_xaxis().set_ticks([]) 
      frame.axes.get_yaxis().set_ticks([1,0.5,0]) 
    plt.tight_layout() 
0

assez sûr ceci un double de cette question

Bottomline la réponse est d'utiliser plt.tight_layout

+0

Hey, il y a la vertu d'avoir alternatif rechercher des titres. J'ai certainement cherché ceci, et n'ai rien trouvé. Vraisemblablement, si j'étais un expert, j'aurais trouvé ces liens ... mais si j'étais un expert, je n'aurais pas de question. En d'autres termes, merci de l'avoir signalé ... mais je n'aurais jamais trouvé ces lignes de recherche. – bordeo