<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Aug 13, 2016 at 9:09 PM, Gilbert, Austin B <span dir="ltr"><<a href="mailto:agilbert39@gatech.edu" target="_blank">agilbert39@gatech.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif;background-color:rgb(255,255,255)">
<p>Hey all,</p>
<p>   Looking at the current docs, generating a single figure from multiple plots is currently a bit of a hassle for the user. This is primarily because the method for doing so generates the figure from the bottom up --all of the axes and the figure are instantiated
 and then the user further manipulates them. I would like to add a multi plot container class that would reach this same end but takes a top down approach. Essentially users would input a list of yt plots or a nested list of yt plots, which simultaneously gives
 the container all of the plots and tells it how to layout the plots on the figure. From here the class would pull out the axes for each plot and then deposit them onto the single figure. Before I get into writing out the class I am looking for support as well
 as input. The main downside I see to this object is that the input needed to instantiate it will either need to be extremely specific or we will need to accept blank spaces in the resulting figure. Also, we would need to define a default behavior for laying
 out plots that display information from multiple fields. Thoughts and suggestions? </p></div></div></blockquote><div><br></div><div>Hi Austin,</div><div><br></div><div>In principle I'm for this, but I think we need to be careful to get this right, otherwise we might end up just making the situation more confusing.</div><div><br></div><div><div>There's definitely quite a bit of prior art here:</div><div><br></div><div>Manual plots based on matplotlib's AxesGrid and PotWindow's private _setup_plots function:</div><div><br></div><div><a href="http://yt-project.org/doc/cookbook/complex_plots.html#multipanel-with-axes-labels">http://yt-project.org/doc/cookbook/complex_plots.html#multipanel-with-axes-labels</a><br></div><div><br></div><div>get_multi_plot, which predates and is completely separate from PlotWindow and was originally written for PlotWindow's predecessor, PlotCollection:</div><div><br></div><div><a href="http://yt-project.org/doc/cookbook/complex_plots.html#multi-plot-slice-and-projections">http://yt-project.org/doc/cookbook/complex_plots.html#multi-plot-slice-and-projections</a><br></div><div><br></div><div>The EPS writer:</div><div><br></div><div><a href="http://yt-project.org/doc/visualizing/plots.html#publication-ready-figures">http://yt-project.org/doc/visualizing/plots.html#publication-ready-figures</a></div></div><div><br></div><div>If we're going to do this, we need to make sure that whatever we come up with subsumes all the use cases for the existing multi-plot examples in the codebase and the docs, and hopefully end up with something that's better and easier to use.</div><div><br></div><div>I think we need to decide how flexible we want this capability to be. i.e. which kinds of plots can go into a given multi-panel plot, how do you specify the multipanel plot, and how should it appear in the end.</div><div><br></div><div>This is a big enough project that I'd encourage you to write up a YTEP. That will allow you to fully specify your design, put it in the context of the existing multi-panel plotting capability in yt, and allow us to provide input before you spend a lot of time writing code.</div><div><br></div><div>-Nathan</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif;background-color:rgb(255,255,255)">
<p><br>
</p>
<p>Thanks,</p>
<p>Austin Gilbert</p>
</div>
</div>

<br>______________________________<wbr>_________________<br>
yt-dev mailing list<br>
<a href="mailto:yt-dev@lists.spacepope.org">yt-dev@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/<wbr>listinfo.cgi/yt-dev-spacepope.<wbr>org</a><br>
<br></blockquote></div><br></div></div>