%matplotlib inline
import yt
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import AxesGrid
# fractional=True keyword -- divide the profile data by the sum.
fns = [ "Enzo_64/DD0030/data0030", "Enzo_64/DD0040/data0040"]
fig = plt.figure()
grid = AxesGrid(fig, (0.075,0.075,0.85,0.85),
nrows_ncols = (1, 1),
axes_pad = 0.05,
label_mode = "L",
share_all = True,
cbar_location="right",
cbar_mode="single",
cbar_size="3%",
cbar_pad="0%")
fig.suptitle("Gas Phase")
for i, fn in enumerate(fns[:1]):
ds = yt.load(fn)
ad = ds.all_data()
p = yt.PhasePlot(ad, "density", "temperature", "cell_mass", x_bins=256, y_bins=256, weight_field=None, fractional=True)
#p.set_log('density', False)
#p.set_log('temperature', False)
plot = p.plots['cell_mass']
if i % 2 == 0:
ptype = "Gas phase ${H_2}$ cooling "
else:
ptype = "Gas phase Standard cooling "
zStr = ptype + "z = %.1f" % ds.current_redshift
plot.figure = fig
plot.axes = grid[i].axes
plot.cax = grid.cbar_axes[i]
#p['cell_mass'].axes.set_title(zStr, fontsize=20)
p._setup_plots()
p.plots['cell_mass'].axes.set_aspect(1e-35)
plt.show()