title: Set yaxis of all subplots to the same range - Matplotlib
body: <p>I'm wondering how do I force my subplots to share the y-axis range.
  This is my code:</p>
  
  <pre><code>f, axes = plt.subplots(7, 1, sharex='col', sharey='row', figsize=(15, 30))
  distance = []
  
  for i in range(simulations):
      delta = numpy.zeros((simulations+samples, simulations+samples))
      data_x = sample_x[i*samples:(i*samples)+samples] + ensamble_x
      data_y = sample_y[i*samples:(i*samples)+samples] + ensamble_y
      for j in range(simulations+samples):
          for k in range(simulations+samples):
              if j &lt;= k:
                  dist = similarity_measure((data_x[j].flatten(), data_y[j].flatten()), (data_x[k].flatten(), data_y[k].flatten()))
                  delta[j, k] = delta[k, j] = dist
  
      delta = 1-((delta+1)/2)  
      delta /= numpy.max(delta)
      model = manifold.TSNE(n_components=2, random_state=0, metric='precomputed')
      coords = model.fit_transform(delta)
  
      mds = manifold.MDS(n_components=2, max_iter=3000, eps=1e-9, random_state=0,
                     dissimilarity="precomputed", n_jobs=1)
      coords = mds.fit(delta).embedding_
  
      close, far = find_distance(coords[:samples, :], coords[samples+i, :])
  
      distance.append((close, far))
  
      axes[i].scatter(coords[:samples, 0], coords[:samples, 1], marker='x', c=colors[i], s=50, edgecolor='None')
      axes[i].scatter(coords[samples:, 0], coords[samples:, 1], marker='o', c=colors,    s=50, edgecolor='None')
  
      axes[i].scatter(coords[close, 0], coords[close, 1], marker='s', facecolor="none", c=colors[i], s=50, edgecolor='None')
      axes[i].scatter(coords[far, 0]  , coords[far, 1]  , marker='s', facecolor="none", c=colors[i], s=50, edgecolor='None')
  
      axes[i].set_title('Simulation '+str(i+1), fontsize=20)
  
  markers = []
  labels = [str(n+1) for n in range(simulations)]
  for i in range(simulations):
       markers.append(Line2D([0], [0], linestyle='None', marker="o", markersize=10, markeredgecolor="none", markerfacecolor=colors[i]))
  lgd = plt.legend(markers, labels, numpoints=1, bbox_to_anchor=(1.0, -0.055), ncol=simulations) 
  plt.tight_layout()
  plt.ylim(-1, 1)
  plt.axis('equal')
  plt.savefig('Simulations.pdf', bbox_extra_artists=(lgd,), format='pdf', bbox_inches='tight')
  </code></pre>
  
  <p>And it's result:</p>
  
  <p><a href="https://i.stack.imgur.com/dBCuP.png" rel="noreferrer"><img src="https://i.stack.imgur.com/dBCuP.png" alt="enter image description here"></a></p>
  
  <p>As can be seen, the y axis limits differs from one subplot to another.
  I'd like to use the max/min range generated. </p>
  
  <p>Thank you.</p>
  
  <p><strong>EDTI: MINIMAL EXAMPLE</strong></p>
  
  <pre><code>%matplotlib inline
  
  from sklearn.preprocessing import normalize
  from sklearn import manifold
  from matplotlib import pyplot as plt
  from matplotlib.lines import Line2D
  
  import numpy
  import itertools
  
  f, axes = plt.subplots(7, 1, sharex='col', sharey='row', figsize=(15, 30))
  distance = []
  
  for i in range(7):
      delta = numpy.random.randint(0, 100, (100, 100))
  
      axes[i].scatter(delta[:, 0], delta[:, 1], marker='x', c='r', s=50, edgecolor='None')
  
      axes[i].set_title('Simulation '+str(i+1), fontsize=20)
      axes[i].set_ylim(0, 100)
  
  markers = []
  
  plt.tight_layout()
  plt.axis('equal')
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/EnVg9.png" rel="noreferrer"><img src="https://i.stack.imgur.com/EnVg9.png" alt="enter image description here"></a></p>