[yt-users] Multiplot - 2x2 and 4 different color bars
Elizabeth Harper-Clark
h-clark at astro.utoronto.ca
Mon Feb 28 07:34:17 PST 2011
Hi guys,
I want a 2x2 multiplot showing 4 different things (density, temperature, HII
fraction and radiation force). How do i get 4 different colorbars on a 2x2
image? currently it will only give me two.
Thanks,
Libby
my scripts as it stands:
from yt.mods import * # set up our namespace
import matplotlib.colorbar as cb
import os
orient = 'horizontal'
frame_template = "aaSN/%s/Multiplotproj_%02ipc_%01i_%04i.eps"
ss = float(sys.argv[2])
rho_min = 1.e-25
rho_max = 1.e-20
temp_min = 1
temp_max = 10000
HII_min = 1.e-5
HII_max = 1.0
rp_min = 1e24
rp_max = 1e26
name = sys.argv[1]
firststar = 0
def _ConvertAccel(data):
return data.convert("Length") / (data.convert("Time"))**2.0
def _RadiationAccelerationMagnitude(field, data):
return ( (data["RadAccel1"])**2.0 + \
(data["RadAccel2"])**2.0 + \
(data["RadAccel3"])**2.0 )**(1.0/2.0)
add_field("RadiationAccelerationMagnitude",
function=_RadiationAccelerationMagnitude,
take_log=False,convert_function=_ConvertAccel, units=r"\rm{cm}/\rm{s}^{2}")
def _RadiationForceMagnitude(field, data):
return ( data["RadiationAccelerationMagnitude"] * data["Density"] *
data["CellVolume"])
add_field("RadiationForceMagnitude", function=_RadiationForceMagnitude,
take_log=False, units=r"\rm{dynes}")
for n in range(50,100,10):
pf = load("SciNet/%s/DD%04i/data%04i" % (name,n, n)) # load data
if pf is None: continue
for ax in range (0,1):
if os.path.exists(frame_template % (name,ss,ax,n)) is True:
print "file exists"
continue
xc = 0.5
yc = 0.5
zc = 0.5
print "Dump:", n, "axis:", ax
fig, axes, colorbars = get_multi_plot( 2, 2, colorbar=orient, bw =
6)
pc = PlotCollection(pf, center=(xc, yc, zc))
p = pc.add_projection("Density", ax, weight_field="Density", figure
= fig, axes = axes[0][0], use_colorbar=False)
p.set_cmap("bds_highcontrast")
p.set_zlim(rho_min, rho_max)
q = pc.add_projection("Temperature", ax, weight_field="Density",
figure=fig, axes=axes[0][1], use_colorbar=False)
q.set_cmap("hot")
q.set_zlim(temp_min, temp_max)
r = pc.add_projection("HII_Fraction", ax, weight_field="Density",
figure=fig, axes=axes[1][0], use_colorbar=False)
r.set_cmap("jet")
r.set_zlim(HII_min, HII_max)
s = pc.add_projection("RadiationForceMagnitude", ax,
weight_field="Density", figure=fig, axes=axes[1][1], use_colorbar=False)
s.set_cmap("Greys")
s.set_zlim(rp_min, rp_max)
pc.set_width(ss, 'pc')
sp = pf.h.all_data()
if na.any(pf.h.grid_particle_count):
p.modify["particles"](2.0, p_size=1.0, col='k', minimum_mass=
6.e0)
q.modify["particles"](2.0, p_size=1.0, col='k', minimum_mass=
6.e0)
r.modify["particles"](2.0, p_size=1.0, col='k', minimum_mass=
6.e0)
s.modify["particles"](2.0, p_size=1.0, col='k', minimum_mass=
6.e0)
print " XXXXX Particles present XXXXX"
Timemyr = pf["InitialTime"]*pf["years"]/1.e6 - firststar*.1
p.modify["text"]((0.051,0.949),"Time = %5.1f Myr" % (Timemyr),
text_args = {'color':'k'})
p.modify["text"]((0.05,0.95),"Time = %5.1f Myr" % (Timemyr),
text_args = {'color':'w'})
for p, cax in zip(pc.plots, colorbars):
p._redraw_image()
cbar = cb.Colorbar(cax, p.image, orientation=orient)
p.colorbar = cbar
p._autoset_label()
fig.savefig(frame_template % (name,ss,ax,n), format="eps")
--
Elizabeth Harper-Clark MA MSci
PhD Candidate, Canadian Institute for Theoretical Astrophysics, UofT
Sciences and Engineering Coordinator, Teaching Assistants' Training Program,
UofT
www.astro.utoronto.ca/~h-clark <http://www.astro.utoronto.ca/%7Eh-clark>
h-clark at cita.utoronto.ca
Astronomy office phone: +1-416-978-5759
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20110228/598f1555/attachment.htm>
More information about the yt-users
mailing list