title: Matplotlib plot frame
body: <p>Consider this plot:</p>
  
  <pre><code>    import matplotlib.pyplot as plt
      a = np.arange(0,3, .02)
      b = np.arange(0,3, .02)
      c = np.exp(a)
  
      # Create plots with pre-defined labels.
      # Alternatively, you can pass labels explicitly when calling `legend`.
      fig, ax = plt.subplots()
      ax.plot(a, b, 'k', label='Model length')
      ax.plot(a, c, 'k:', label='Data length')
  
      # Now add the legend with some customizations.
      legend = ax.legend(loc='upper center', shadow=True)
  
      # The frame is matplotlib.patches.Rectangle instance surrounding the 
      # legend.
      frame = legend.get_frame()
      frame.set_facecolor('0.90')
  
      plt.show()
  </code></pre>
  
  <p>This plot as well as many others I have tried, should have a frame (4 spines).
  For me it only shows the axis but no spines. How can I change that?</p>
  
  <p><a href="https://i.stack.imgur.com/cToqg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/cToqg.png" alt="enter image description here"></a></p>
  
  <p>Edit: </p>
  
  <p>The problem here was the seaborn library. If this library is imported at any point it will change the format of matplotlib plots and they will look like the plot shown above. (Nicer design but no spines;)</p>