<br><br><div class="gmail_quote">On Thu, Feb 23, 2012 at 2:43 PM, Fernando Perez <span dir="ltr">&lt;<a href="mailto:fperez.net@gmail.com">fperez.net@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hey John,<br>
<div class="im"><br>
On Thu, Feb 23, 2012 at 11:11 AM, John Hunter &lt;<a href="mailto:jdh2358@gmail.com">jdh2358@gmail.com</a>&gt; wrote:<br>
&gt; I am working on a notebook and want to build up a figure in stages to<br>
&gt; illustrate the effect of successive code blocks.  After the first code cell,<br>
&gt; the figure is drawn and inlined, as expected.  After the second, no figure<br>
&gt; is inserted, even if I try and force it to with &quot;draw&quot;.  How are you<br>
&gt; deciding whether to insert a figure or not, and is there a way to force the<br>
&gt; figure redraw inline?<br>
<br>
</div>The default behavior is to close the figures once they have been<br>
created.  But you have two ways to go about this:<br>
<br>
Option #1. Since you&#39;re already keeping a reference to your figure (ps<br>
- shame on you for still advertising the god-forsaken .subplot(111)<br>
syntax ;):<br></blockquote><div><br></div><div><br></div><div>My bad -- I was translating this example </div><div><br></div><div><a href="http://matplotlib.sourceforge.net/examples/axes_grid/scatter_hist.html">http://matplotlib.sourceforge.net/examples/axes_grid/scatter_hist.html</a></div>

<div> </div><div>which may have pre-dated your much superior &quot;plt.subplots&quot;.  Fixed now.  Incidentally, I was thinking about presenting this example in a talk, and was contemplating cutting-and-pasting the code into a standard ipython terminal piece by piece to illustrate the effect of each axes divider call (like an hbox or vbox for mpl figures, thanks JJ).  The for loops near the end:</div>

<div><br></div><div><div>  for tl in axHistx.get_xticklabels():</div><div>      tl.set_visible(False)</div><div>  axHistx.set_yticks([0, 50, 100])</div></div><div><br></div><div>are not friendly to paste into ipython terminal shells because they do not have the blank line after the indent.  Then I realized, aha, this is precisely what the notebook excels at: building up a code example with multi-line input in chunks.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">you can simply in your second cell return the figure as the very last<br>
line of the second cell, or call display() on it.  That is, replace<br>
this:<br>
<br>
&gt; plt.draw()<br>
<br>
with<br>
<br>
fig<br>
<br>
or<br>
<br>
display(fig)<br></blockquote><div><br></div><div><br></div><div>This works great for my use case; I will play with the config parameters later.  Thanks for the tips.</div><div><br></div><div><br></div><div>JDH</div></div>