def make_plot(model): # Extract model name model_name = os.path.basename(model).replace('_conv.fits', '').replace('images_total_', '') fig = plt.figure(figsize=(w, h)) ax = fig.add_axes([0., 0., 1., 1.]) ax.xaxis.set_visible(False) ax.yaxis.set_visible(False) for spine in ax.spines: ax.spines[spine].set_visible(False) flux = pyfits.getdata(model)[:, 0, 0, :] for iw in range(nw): ax.text(xmin, ymax - iw * dy - iw * ddy, labels[iw], va='bottom', ha='left', size=8, color='black') make_percent_bar(ax, flux[iw, :], groups_short, [xmin, xmax, ymax - (iw + 1) * dy - iw * ddy, ymax - iw * dy - iw * ddy], light_group_colors, group_colors) fig.savefig('plots/fractions_%s.eps' % model_name, bbox_inches='tight') fig.savefig('plots/fractions_%s.png' % model_name, bbox_inches='tight')
# Extract PAH energy energy = energy[isize, :, :, :] # Append to lists energies.append(np.mean(energy) / normalization[isize]) names.append(os.path.basename(model).replace('.rtout', '').replace('energy_%s_' % model_name, '').replace('_', ' ').strip()) # Create list of group numbers groups = [group(name) for name in names] # Convert to Numpy arrays and sort energies, names, groups = np.array(energies), np.array(names), np.array(groups) key = np.array(zip(groups, energies), dtype=[('groups', int), ('energies', float)]) order = np.argsort(key, order=['groups', 'energies']) energies, names, groups = energies[order], names[order], groups[order] # Create pie chart figure print len(energies) ax.text(xmin, ymax - isize * dy - isize * ddy + 0.02 / h, labels[isize], va='bottom', ha='left', size=8, color='black') make_percent_bar(ax, energies, names, [xmin, xmax, ymax - (isize + 1) * dy - isize * ddy, ymax - isize * dy - isize * ddy], [light_group_colors[g] for g in groups], [group_colors[g] for g in groups]) fig.savefig('plots/energy_fractions_%s.eps' % model_name) fig.savefig('plots/energy_fractions_%s.png' % model_name)