2016-02-27 85 views
0

我有以下代码:重塑pyplot插曲

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]) 

这需要一个三维NP阵列并绘制它在这样的图:

enter image description here

其被嵌入在IPython的笔记本。我需要的是某种方式来格式化这个图表,以便轴标签不在彼此之上。我想这意味着要么将其展开在笔记本上......要么在python的每个单元格中缩小它。我该如何做一个或另一个让这个阴谋看起来正确?

回答

2

tight_layout可能是你在找什么

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

很肯定这本question

底线的重复的答案是使用plt.tight_layout

+0

嘿,有美德就具有替代搜索标题。我绝对找到了这个,并没有发现任何东西。据推测,如果我是专家,我会找到这些链接......但如果我是专家,我不会有任何问题。换句话说,感谢您指出这一点...但我从来没有找到这些搜索线。 – bordeo