<div dir="ltr"><div>Hi Matt,<br><br>Could you point me this PR? I'm having some trouble finding it.<br><br></div>Thanks,<br>Andrew<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Aug 28, 2014 at 4:47 AM, Matthew Turk <span dir="ltr"><<a href="mailto:matthewturk@gmail.com" target="_blank">matthewturk@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On Thu, Aug 28, 2014 at 1:48 AM, Nathan Goldbaum <<a href="mailto:nathan12343@gmail.com">nathan12343@gmail.com</a>> wrote:<br>

> Hi Andrew,<br>
><br>
> This is a really great idea and something that should be a big usability win<br>
> as more and more people use yt with particle datasets.  I have several<br>
> comments, questions, and suggestions but overall an emphatic +1 on this<br>
> eventually making its way into yt.<br>
><br>
> Is ParticlePlot a subclass of PlotContainer?  Does it make sense to do that?<br>
> For all the other plotting classes there is a sense of a list of fields to<br>
> loop over and store plots for per-object. Your plotting class could accept a<br>
> list of x and y fields (does it?) so I guess you could store all<br>
> permutations of x and y field combinations and make a plot for each one,<br>
> although I'm not sure if that makes sense.<br>
><br>
> Should we perhaps instead have a class that splats particle positions onto<br>
> spatial axes and another that does the same for arbitrary combinations of<br>
> fields like ProfilePlot and PhasePlot?  One issue with your second example<br>
> is that the aspect ratio isn't equal for both axes, which is presumably why<br>
> your spherical distribution of particles appears a bit squashed.  It would<br>
> be straightforward to handle this if we know the x and y axes are spatial,<br>
> less so if the plotting class has to handle axes with generic dimensions.<br>
><br>
<br>
</div>I'm generally +10 on Andrew's idea; one thing I want to note is that<br>
the speed of Matplotlib's point plotting can go down quite quickly<br>
with the number of points.  A splatting routine (which I think Sam has<br>
put into a PR?) would speed it up, and if the splat size were less<br>
than the pixel size for the plot, it should be indistinguishable.<br>
<div class="HOEnZb"><div class="h5"><br>
> I'd prefer it if we could keep the plotting code as unified as possible.<br>
> Optimally, this means that individual plots should subclass PlotMPL and<br>
> ParticlePlot would subclass PlotContainer. Doing so should reduce code<br>
> duplication and also ease maintainability going forward.  That said, I<br>
> totally understand that you have the code written already and don't want to<br>
> force you to rewrite a bunch of stuff you've alrady written.  One bonus of<br>
> using the plotting infrastructure that's in yt right now is that you should<br>
> be able to wire up the PlotWindow plot callbacks, at least for plots that<br>
> have spatial fields along both axes.<br>
><br>
> It might be useful to hash this out in a YTEP.<br>
><br>
> Hope that's not too much feedback - if you can't tell i'm excited about<br>
> this!<br>
><br>
> -Nathan<br>
><br>
><br>
> On Wed, Aug 27, 2014 at 11:26 PM, Andrew Myers <<a href="mailto:atmyers2@gmail.com">atmyers2@gmail.com</a>> wrote:<br>
>><br>
>> Hi folks,<br>
>><br>
>> A while back, Jeremy Ritter asked the yt-users list if yt could produce a<br>
>> particle plot like that obtained through annotate_particles(), but without<br>
>> loading any mesh data. The answer was "no", but that it isn't too hard to<br>
>> use matplotlib directly. Personally, this is a visualization task that I do<br>
>> all the time, and I think it would be useful to make this type of plot a<br>
>> one-liner in yt - provided it handles units and labels and such<br>
>> automatically like any other yt plot.<br>
>><br>
>> I've added this feature in my fork of yt. The interface is the same as for<br>
>> any other yt plots, and the standard plot modification mechanisms should<br>
>> work. Examples are here and here.<br>
>><br>
>> If there is interest in having this in mainline yt I'll write some docs<br>
>> and issue a pull request.<br>
>><br>
>> -Andrew<br>
>><br>
>><br>
>> _______________________________________________<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" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
>><br>
><br>
><br>
> _______________________________________________<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" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
><br>
_______________________________________________<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" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
</div></div></blockquote></div><br></div>