[yt-users] Making a Multiplot using Ramses data

k.grisdale at surrey.ac.uk k.grisdale at surrey.ac.uk
Tue Nov 12 06:47:49 PST 2013


Dear Matt,

Thanks again. The normalize command was just what I needed.

Does the projection plot used in the multi-plot work differently to the normal ProjectionPlot?

I ask because with the code below I get the image below, while using the same centre and width with the multi plot I get the image I sent in my last email. I have tried playing around with different centres, and projection radii but this only moves the image around or makes the square that it does plot different sizes(this is still the case even after changing to a linear scale). Both plots are using the same data set so i am explicating the same plot.

Thanks Kearn


from yt.mods import *
p6 = load("output_00006/info_00006.txt")
cen = [0,0,0]
pr6 = ProjectionPlot(p6,'z','Density',center=cen)
pr6.set_cmap('Density','YlOrRd')
pr6.set_zlim('Density', 0.0,0.35)
pr6.save("p6")


[cid:762180B4-55D9-4E2F-A5F1-6FD1F51B4A93 at surrey.ac.uk]

On 12 Nov 2013, at 11:33, Matthew Turk <matthewturk at gmail.com<mailto:matthewturk at gmail.com>> wrote:

Hi Kearn,


On Tue, Nov 12, 2013 at 3:46 AM, <k.grisdale at surrey.ac.uk<mailto:k.grisdale at surrey.ac.uk>> wrote:
Hi Matt.

The Script you sent me has been of great help! I have now managed to get yt to plot projections for my data.

However I am still having small trouble. Firstly script only plots the 1 quarter of each projection(I can change which quarter), [Graph below] and secondly I would like to set the colorbar to be linear for my data. How can I go about that?

If you change LogNorm to Normalize (and change the import) it should change to linear.  You can probably then just remove the LogLocator ticker.  To change the FOV, the 0.25 "unitary" is what I set, and you should be able to change it to whatever you like.  Just be sure to also change the center value to be the center of the domain!  :)

-Matt


Thanks

Kearn

<Screen Shot 2013-11-12 at 08.46.03.png>
On 11 Nov 2013, at 22:39, Matthew Turk <matthewturk at gmail.com<mailto:matthewturk at gmail.com>> wrote:

Hi Kearn,

Oops, I guess my reply was less than helpful!  Sorry about that --
been one of those days.

On Mon, Nov 11, 2013 at 3:30 PM,  <k.grisdale at surrey.ac.uk<mailto:k.grisdale at surrey.ac.uk>> wrote:
Hi Matt,

Thanks for the reply. The code that I used below is my attempt at adapting
the script on the yt pages explaining how to use Multi-Plot Slice and
Projections. As I couldn’t figure out how make multi-plots of yt Projections
I thought I’d try the adapting route. Which means there bits there I don’t
get but have included as I thought they where needed for the multi plot.


I've spent a bit of time looking at this and I've been able to make a
multi plot that I think matches what you're looking for.  I've put the
script here, and I've also tried to note where there might be issues
with it that could be important when you adapt it to your data.

http://paste.yt-project.org/show/4047/

Let me know if that helps out, or if I can help in any other way.

-Matt

Thanks again

Kearn



On 11 Nov 2013, at 20:13, Matthew Turk <matthewturk at gmail.com<mailto:matthewturk at gmail.com>> wrote:

Hi Kearn,


On Mon, Nov 11, 2013 at 10:18 AM, <k.grisdale at surrey.ac.uk<mailto:k.grisdale at surrey.ac.uk>> wrote:

Hi everyone

I am trying to make a multi plot using data from Ramses. I have outputs
from Ramses at 6 different times and I want to make projections at each time
and place than in a multi plot to show evolution of the system. However when
the code that I have written gives the results below.


<Screen Shot 2013-11-11 at 15.12.13.png>


Can anyone offer any suggestions as to wear my code is going wrong?

Thanks

Kearn

The code I’m using ( the for dax lines have been commented out because
every time they are included I get the error at the bottom)

from yt.mods import * # set up our namespace
import matplotlib.colorbar as cb
from matplotlib.colors import LogNorm

p1 = load("output_00001/info_00001.txt")
p2 = load("output_00002/info_00002.txt")
p3 = load("output_00003/info_00003.txt")
p4 = load("output_00004/info_00004.txt")
p5 = load("output_00005/info_00005.txt")
p6 = load("output_00006/info_00006.txt")

cen = [0,0,0]
orient = 'vertical'

fig, axes, colorbars = get_multi_plot(3, 2, colorbar=orient, bw = 4)
proj1 = p1.h.proj(2, "Density", center=cen)
proj2 = p2.h.proj(2, "Density", center=cen)
proj3 = p3.h.proj(2, "Density", center=cen)
proj4 = p4.h.proj(2, "Density", center=cen)
proj5 = p5.h.proj(2, "Density", center=cen)
proj6 = p6.h.proj(2, "Density", center=cen)

proj1_frb = proj1.to_frb((0.7,"cm"),512)
proj2_frb = proj2.to_frb((0.7,"cm"),512)
proj3_frb = proj3.to_frb((0.7,"cm"),512)
proj4_frb = proj4.to_frb((0.7,"cm"),512)
proj5_frb = proj5.to_frb((0.7,"cm"),512)
proj6_frb = proj6.to_frb((0.7,"cm"),512)

dens_axes = [axes[0][0], axes[1][0]]

#for dax in zip(dens_axes) :


I'm not sure what you're doing here -- this will yield:

[(axes[0][0],), (axes[1][0],)]

So you'll be getting back a tuple of length one inside the loop.  You should
be able to do dax[0]?  But I'm not sure you need to zip in the first place,
either.

-Matt



#    dax.xaxis.set_visible(False)
#    dax.yaxis.set_visible(False)

plots = [dens_axes[0].imshow(proj1_frb["Density"],origin ='lower'),
        dens_axes[0].imshow(proj2_frb["Density"],origin ='lower'),
        dens_axes[0].imshow(proj3_frb["Density"],origin ='lower'),
        dens_axes[0].imshow(proj4_frb["Density"],origin ='lower'),
        dens_axes[0].imshow(proj5_frb["Density"],origin ='lower'),
        dens_axes[0].imshow(proj6_frb["Density"],origin ='lower')]

plots[0].set_clim((0.0,0.34))
plots[0].set_cmap("YlOrRd")
plots[1].set_clim((0.0,0.345))
plots[1].set_cmap("YlOrRd")
plots[2].set_clim((0.0,0.34))
plots[2].set_cmap("YlOrRd")
plots[3].set_clim((0.0,0.34))
plots[3].set_cmap("YlOrRd")
plots[4].set_clim((0.0,0.34))
plots[4].set_cmap("YlOrRd")
plots[5].set_clim((0.0,0.34))
plots[5].set_cmap("YlOrRd")

fig.savefig("test”)


error:

Traceback (most recent call last):
 File "plotterm2.py", line 34, in <module>
   dax.xaxis.set_visible(False)
AttributeError: 'tuple' object has no attribute 'xaxis'

_______________________________________________
yt-users mailing list
yt-users at lists.spacepope.org<mailto:yt-users at lists.spacepope.org>
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org


_______________________________________________
yt-users mailing list
yt-users at lists.spacepope.org<mailto:yt-users at lists.spacepope.org>
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org


_______________________________________________
yt-users mailing list
yt-users at lists.spacepope.org<mailto:yt-users at lists.spacepope.org>
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org

_______________________________________________
yt-users mailing list
yt-users at lists.spacepope.org<mailto:yt-users at lists.spacepope.org>
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org



_______________________________________________
yt-users mailing list
yt-users at lists.spacepope.org<mailto:yt-users at lists.spacepope.org>
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org


_______________________________________________
yt-users mailing list
yt-users at lists.spacepope.org<mailto:yt-users at lists.spacepope.org>
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20131112/19dca6e2/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p6_Projection_z_Density.png
Type: image/png
Size: 47226 bytes
Desc: p6_Projection_z_Density.png
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20131112/19dca6e2/attachment.png>


More information about the yt-users mailing list