title: Matplotlib: How to place x-axis and y-axis TITLES at edges of frame, even if origin is not at bottom left?
body: <p>I'm making plots where the (0,0) position is not necessarily in the bottom left corner of the plot frame, meaning that the x and y axes and their ticks cross within the plot frame.  It's fine to have the lines, ticks and their values within the frame, but having the axis titles so near to their lines interferes with visualization of certain data points.</p>
  
  <p>I'd simply like to force the x and y axis titles to be at the bottom and far left of the plot frame, respectively; it doesn't work to simply 'pad' the xlabel or ylabel titles because the padding I'd need would vary between plots.</p>
  
  <p><strong>How to get the titles always in these consistent locations of the plot frame, even if the corresponding axis lines, ticks/values may vary in the plot frame space?</strong></p>
  
  <h2>Thank you.</h2>
  
  <ul>
  <li>I'd like to add a note here.  It seemed to me that it could be possible to define the xlabel and ylabel 'labelpad' values directly from the data range:</li>
  </ul>
  
  <p>For example, one could find the minimum x-value of the minimum y-value (this would set the position of the x-axis label), and the minimum x-value of the minimum x-value (this would set the position of the y-axis label):</p>
  
  <pre><code>    xpad = ax.get_ylim()[0]
      ypad = ax.get_xlim()[0]
  </code></pre>
  
  <p>Then use these values in xlabel and ylabel parameters as labelpads:</p>
  
  <pre><code>    pylab.xlabel("X Title", fontsize=12, labelpad=abs(xpad))
      pylab.ylabel("Y Title", fontsize=12, labelpad=abs(ypad))
  </code></pre>
  
  <p>Unfortunately, it doesn't look like labelpad can accept variables.  Any suggestions that might allow a work-around?</p>