def _G0_plot(plot_dir, data_sliced, landscape, fmt): # XXX why is this necessary?? screwing up absolute values previous_JCP = FigureUtil.read_non_peg_landscape(base="../../FigData/") offset_s = np.mean([d.Separation[0] for d in data_sliced]) G_hao = landscape.G0_kcal_per_mol idx_zero = np.where(landscape.q_nm <= 100) G_hao = G_hao - landscape.G0_kcal_per_mol[0] G_JCP = previous_JCP.G0_kcal_per_mol - previous_JCP.G0_kcal_per_mol[0] + 50 offset_jcp_nm = min(previous_JCP.q_nm) landscape_offset_nm = min(landscape.q_nm) q_JCP_nm = previous_JCP.q_nm - offset_jcp_nm + 5 q_Hao_nm = landscape.q_nm - landscape_offset_nm fig = FigureUtil._fig_single(y=6) xlim, ylim = FigureUtil._limits(data_sliced) ax1 = plt.subplot(2, 1, 1) FigureUtil._plot_fec_list(data_sliced, **fmt) FigureUtil._plot_fmt(ax1, **fmt) ax2 = plt.subplot(2, 1, 2) plt.plot(q_Hao_nm, G_hao, label="Aligned, IWT") plt.plot(q_JCP_nm, G_JCP, 'r--', label="JCP landscape") FigureUtil._plot_fmt(ax2, ylabel="G (kcal/mol)", is_bottom=True, xlim=xlim, ylim=[None, None]) PlotUtilities.legend(ax=ax2, handlelength=2) ax2.set_xlim(fmt['xlim']) PlotUtilities.savefig(fig, plot_dir + "FigureSX_LandscapeComparison.png")
def _plot_comparison(plot_dir, heatmap_jcp, iwt_obj, data_sliced_plot): fmt = dict(xlim=[-20, 55], ylim=[-20, 150]) _G0_plot(plot_dir, data_sliced_plot, iwt_obj, fmt=fmt) fig = FigureUtil._fig_single(y=6) ax1 = plt.subplot(2, 1, 1) extent = heatmap_jcp._extent_nm_and_pN(offset_x_nm=0) plt.imshow(heatmap_jcp.heatmap, origin='lower', aspect='auto', extent=extent, cmap=plt.cm.afmhot) FigureUtil._plot_fmt(is_bottom=False, ax=ax1, **fmt) PlotUtilities.title("Top: JCP.\n Bottom: New data, - PEG3400") ax2 = plt.subplot(2, 1, 2) FEC_Plot.heat_map_fec(data_sliced_plot, use_colorbar=False, num_bins=(150, 75), separation_max=fmt['xlim'][1]) FigureUtil._plot_fmt(is_bottom=True, ax=ax2, **fmt) out_name = plot_dir + "FigureSX_jcp_fec_comparison.png" PlotUtilities.savefig(fig, out_name, tight=True)