[yt-users] PlotCollection
Junhwan Choi (최준환)
choi.junhwan at gmail.com
Wed Jan 13 11:49:14 PST 2016
Hi yt user,
I have old yt script (with yt-2.7-ish) with eps_writer module that
makes 3x3 multi panel slice plot as follow
=================================
import matplotlib as matplotlib
matplotlib.use('Agg')
import matplotlib.pylab as pylab
from yt.mods import *
import yt.visualization.eps_writer as eps
import pyx
import pylab as pl
pl.ion()
pl.clf()
# load up a dataset
LBOX1 = 4000
LBOX2 = 4
LBOX3 = 0.04
index = 66
pf = load("../DD%04d/DD%04d" % (index,index))
den_center = pf.h.find_max("Density")[1]
# create density slices
pc = PlotCollection(pf, center=den_center)
p1 =pc.add_slice("Density", "z", center=den_center, use_colorbar=False)
p2 =pc.add_slice("Density", "x", center=den_center, use_colorbar=False)
p3 =pc.add_slice("Density", "y", center=den_center, use_colorbar=False)
p1.set_zlim(1e-27, 1e-20)
p2.set_zlim(1e-27, 1e-20)
p3.set_zlim(1e-27, 1e-20)
p4 =pc.add_slice("Density", "z",center=den_center, use_colorbar=False)
p5 =pc.add_slice("Density", "x",center=den_center, use_colorbar=False)
p6 =pc.add_slice("Density", "y",center=den_center, use_colorbar=False)
p4.set_zlim(2e-20, 2e-14)
p5.set_zlim(2e-20, 2e-14)
p6.set_zlim(2e-20, 2e-14)
p7 =pc.add_slice("Density", "z",center=den_center, use_colorbar=False)
p8 =pc.add_slice("Density", "x",center=den_center, use_colorbar=False)
p9 =pc.add_slice("Density", "y",center=den_center, use_colorbar=False)
p7.set_zlim(2e-16, 2e-10)
p8.set_zlim(2e-16, 2e-10)
p9.set_zlim(2e-16, 2e-10)
p1.set_width(LBOX1,"pc")
p2.set_width(LBOX1,"pc")
p3.set_width(LBOX1,"pc")
p4.set_width(LBOX2,"pc")
p5.set_width(LBOX2,"pc")
p6.set_width(LBOX2,"pc")
p7.set_width(LBOX3,"pc")
p8.set_width(LBOX3,"pc")
p9.set_width(LBOX3,"pc")
ep = eps.multiplot_yt(3,3,pc,bare_axes = True)
ep.title_box("xy", loc=(0.1,2.95))
ep.title_box("yz", loc=(1.1,2.95))
ep.title_box("xz", loc=(2.1,2.95))
ep.scale_line(label="%6.0f kpc" % (LBOX1/4000.0), size=0.25,
linewidth=pyx.style.linewidth.Thick, loc=(0.05,3.08))
ep.scale_line(label="%6.0f pc" % (LBOX2/4.0) , size=0.25,
linewidth=pyx.style.linewidth.Thick, loc=(0.05,2.08))
ep.scale_line(label="%6.2f pc" % (LBOX3/4.0) , size=0.25,
linewidth=pyx.style.linewidth.Thick, loc=(0.05,1.08))
ep.save_fig("VelDenSlice4R_%04d" % (index) )
pl.clf()
==================================
And, now I would like to port to the latest yt.
I could make most of changes but I found that there is no
PlotCollection which can pass the figures to eps.multiplot_yt any
more.
Is there any alternative way to replace the what PlotCollection and
add_slice did?
I also need to include the annotate_xxx so that using imshow is not a
good option for me.
Thanks in advance,
Junhwan Choi
_______________________________________________
yt-users mailing list
yt-users at lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
More information about the yt-users
mailing list