Apr-28-2019, 01:21 PM
(This post was last modified: Apr-28-2019, 01:22 PM by mohd_umair.)
Good afternoon everyone,
I am trying to plot some figures and save them as pdf. For that, I have already written a script and the problem is that it is saving 5 pdf files but all five pdf files have the same image. Below is an excerpt from my script.
Have a nice day :)
I am trying to plot some figures and save them as pdf. For that, I have already written a script and the problem is that it is saving 5 pdf files but all five pdf files have the same image. Below is an excerpt from my script.
# plot data as graph, (0) none, (1) interactive, (2) pdf plot = 2 if plot not in [1, 2]: sys.exit() # skip everything below import matplotlib as mpl import matplotlib.pyplot as plt from mpl_toolkits.axes_grid1 import make_axes_locatable mpl.rcParams['text.usetex'] = True mpl.rcParams['text.latex.preamble'] = [ r"\usepackage[utf8x]{inputenc}", r"\usepackage[T1]{fontenc}", r"\usepackage[detect-all]{siunitx}", r'\usepackage{amsmath, amstext, amssymb}', r'\usepackage{xfrac}', r'\usepackage{lmodern, palatino, eulervm}'] mpl.rcParams['font.family'] = 'serif' mpl.rcParams.update({'font.size': 9}) # create figure suitable for A4 format def mm2inch(*tupl): inch = 25.4 if isinstance(tupl[0], tuple): return tuple(i/inch for i in tupl[0]) else: return tuple(i/inch for i in tupl) # line colours appropriate for colour-blind Vermillion = '#D55E00' Blue = '#0072B2' BluishGreen = '#009E73' Orange = '#E69F00' SkyBlue = '#56B4E9' ReddishPurple = '#CC79A7' Yellow = '#F0E442' Black = '#000000' save1 = 1 if save1 == 1: #----------------------------------------------------------------------------------- fig1 = plt.figure(num=1, figsize=mm2inch(160.0, 140.0), dpi=150) #----------------------------------------------------------------------------------- eFam = np.max(np.abs(eF)) uvam = np.max(np.abs(uv15)) ncl = 600 # number of countur levels, increase to make plot smoother but larger comap = 'RdGy' ax1 = plt.subplot2grid((1, 1), (0, 0), rowspan=1, colspan=1) ax1.set_xlabel(r"${r\Delta\theta}$ in $d$") ax1.set_ylabel(r"${r\Delta z}$ in $d$") cl1 = [-eFam*0.9,-eFam*0.8,-eFam*0.7, -eFam*0.6, -eFam*0.5,-eFam*0.4, -eFam*0.3,+eFam*0.3,+eFam*0.4,+eFam*0.5, +eFam*0.6, +eFam*0.7,+eFam*0.8, +eFam*0.9] cf1 = ax1.contour(th*r[k], z, np.array(eF).transpose(1,0), cl1, cmap='bwr', linestyles='dashed', linewidths=0.5) # , extend='both') cl2 = np.linspace(-uvam, +uvam, ncl) # set contour levels manually cf2 = ax1.contourf(th*r[k], z, np.array(uv15).transpose(1,0), cl2, cmap=comap) ax1.set_aspect('equal') # makes axis ratio natural dvr = make_axes_locatable(ax1) # devider cbx = dvr.append_axes("top", size="5%", pad=0.1) # make colorbar axis cb1 = plt.colorbar(cf2, cax=cbx, ticks=[-uvam, 0, +uvam], orientation='horizontal') # set colorbar scale cbx.xaxis.set_ticks_position("top") #cb1.set_label(r"${\displaystyle\omega_z}$ ") if plot == 2: fig1.tight_layout() fnam1 = 'efluxQ2Q4Fourier'+'{:08d}'.format(iLast)+'.pdf' plt.savefig(fnam1) print('Written file', fnam1) #fig1.clf() save2 = 1 if save2 == 1: #--------------------------------------------------------------- fig2 = plt.figure(num=2, figsize=mm2inch(160.0, 140.0), dpi=150) #--------------------------------------------------------------- ePam = np.max(np.abs(eP)) uvEam = np.max(np.abs(uvE15)) ncl = 600 # number of countur levels, increase to make plot smoother but larger comap = 'RdGy' ax2 = plt.subplot2grid((1, 1), (0, 0), rowspan=1, colspan=1) ax2.set_xlabel(r"${r\Delta\theta}$ in $d$") ax2.set_ylabel(r"${r\Delta z}$ in $d$") cl3 = [+ePam*0.3, +ePam*0.4, +ePam*0.5, +ePam*0.6, +ePam*0.7, +ePam*0.8, +ePam*0.9] cf3 = ax2.contour(th*r[k], z, np.array(eP).transpose(1,0), cl3, colors='r', linestyles='dashed', linewidths=0.5) # , extend='both') cl4 = np.linspace(-uvEam, +uvEam, ncl) # set contour levels manually cf4 = ax2.contourf(th*r[k], z, np.array(uvE15).transpose(1,0), cl4, cmap=comap) ax2.set_aspect('equal') # makes axis ratio natural dvr = make_axes_locatable(ax2) # devider cbx = dvr.append_axes("top", size="5%", pad=0.1) # make colorbar axis cb3 = plt.colorbar(cf4, cax=cbx, ticks=[-uvEam, 0, +uvEam], orientation='horizontal') # set colorbar scale cbx.xaxis.set_ticks_position("top") #cb1.set_label(r"${\displaystyle\omega_z}$ ") if plot == 2: fig2.tight_layout() fnam2 = 'efluxQ2Q4Fourier'+'{:08d}'.format(iLast)+'.pdf' plt.savefig(fnam2) print('Written file', fnam2) #fig2.clf() save3 = 1 if save3 == 1: #--------------------------------------------------------------- fig3 = plt.figure(num=3, figsize=mm2inch(160.0, 140.0), dpi=150) #--------------------------------------------------------------- eNam = np.max(np.abs(eN)) uvEam = np.max(np.abs(uvE15)) ncl = 600 # number of countur levels, increase to make plot smoother but larger comap = 'RdGy' ax3 = plt.subplot2grid((1, 1), (0, 0), rowspan=1, colspan=1) ax3.set_xlabel(r"${r\Delta\theta}$ in $d$") ax3.set_ylabel(r"${r\Delta z}$ in $d$") cl5 = [-eNam*0.9, -eNam*0.8, -eNam*0.7, -eNam*0.6, -eNam*0.5, -eNam*0.4, -eNam*0.3] cf5 = ax3.contour(th*r[k], z, np.array(eN).transpose(1,0), cl5, colors='blue', linestyles='dashed', linewidths=0.5) # , extend='both') cl6 = np.linspace(-uvEam, +uvEam, ncl) # set contour levels manually cf6 = ax3.contourf(th*r[k], z, np.array(uvE15).transpose(1,0), cl6, cmap=comap) ax3.set_aspect('equal') # makes axis ratio natural dvr = make_axes_locatable(ax3) # devider cbx = dvr.append_axes("top", size="5%", pad=0.1) # make colorbar axis cb5 = plt.colorbar(cf6, cax=cbx, ticks=[-uvEam, 0, +uvEam], orientation='horizontal') # set colorbar scale cbx.xaxis.set_ticks_position("top") #cb1.set_label(r"${\displaystyle\omega_z}$ ") if plot == 2: fig3.tight_layout() fnam3 = 'efluxQ2Q4Fourier'+'{:08d}'.format(iLast)+'.pdf' plt.savefig(fnam3) print('Written file', fnam3) #fig3.clf() save4 = 1 if save4 == 1: #--------------------------------------------------------------- fig4 = plt.figure(num=4, figsize=mm2inch(160.0, 140.0), dpi=150) #--------------------------------------------------------------- ePam = np.max(np.abs(eP)) uvSam = np.max(np.abs(uvS15)) ncl = 600 # number of countur levels, increase to make plot smoother but larger comap = 'RdGy' ax4 = plt.subplot2grid((1, 1), (0, 0), rowspan=1, colspan=1) ax4.set_xlabel(r"${r\Delta\theta}$ in $d$") ax4.set_ylabel(r"${r\Delta z}$ in $d$") cl7 = [+ePam*0.3, +ePam*0.4, +ePam*0.5, +ePam*0.6, +ePam*0.7, +ePam*0.8, +ePam*0.9] cf7 = ax4.contour(th*r[k], z, np.array(eP).transpose(1,0), cl7, colors='r', linestyles='dashed', linewidths=0.5) # , extend='both') cl8 = np.linspace(-uvSam, +uvSam, ncl) # set contour levels manually cf8 = ax4.contourf(th*r[k], z, np.array(uvS15).transpose(1,0), cl8, cmap=comap) ax4.set_aspect('equal') # makes axis ratio natural dvr = make_axes_locatable(ax4) # devider cbx = dvr.append_axes("top", size="5%", pad=0.1) # make colorbar axis cb7 = plt.colorbar(cf8, cax=cbx, ticks=[-uvSam, 0, +uvSam], orientation='horizontal') # set colorbar scale cbx.xaxis.set_ticks_position("top") #cb1.set_label(r"${\displaystyle\omega_z}$ ") if plot == 2: fig4.tight_layout() fnam4 = 'efluxQ2Q4Fourier'+'{:08d}'.format(iLast)+'.pdf' plt.savefig(fnam4) print('Written file', fnam4) #fig4.clf() save5 = 1 if save5 == 1: #--------------------------------------------------------------- fig5 = plt.figure(num=5, figsize=mm2inch(160.0, 140.0), dpi=150) #--------------------------------------------------------------- eNam = np.max(np.abs(eN)) uvSam = np.max(np.abs(uvS15)) ncl = 600 # number of countur levels, increase to make plot smoother but larger comap = 'RdGy' ax5 = plt.subplot2grid((1, 1), (0, 0), rowspan=1, colspan=1) ax5.set_xlabel(r"${r\Delta\theta}$ in $d$") ax5.set_ylabel(r"${r\Delta z}$ in $d$") cl9 = [-eNam*0.9, -eNam*0.8, -eNam*0.7, -eNam*0.6, -eNam*0.5, -eNam*0.4, -eNam*0.3] cf9 = ax5.contour(th*r[k], z, np.array(eN).transpose(1,0), cl9, colors='blue', linestyles='dashed', linewidths=0.5) # , extend='both') cl10 = np.linspace(-uvEam, +uvEam, ncl) # set contour levels manually cf10 = ax5.contourf(th*r[k], z, np.array(uvE15).transpose(1,0), cl10, cmap=comap) ax5.set_aspect('equal') # makes axis ratio natural dvr = make_axes_locatable(ax5) # devider cbx = dvr.append_axes("top", size="5%", pad=0.1) # make colorbar axis cb5 = plt.colorbar(cf10, cax=cbx, ticks=[-uvSam, 0, +uvSam], orientation='horizontal') # set colorbar scale cbx.xaxis.set_ticks_position("top") #cb1.set_label(r"${\displaystyle\omega_z}$ ") if plot == 2: fig5.tight_layout() fnam5 = 'efluxQ2Q4Fourier'+'{:08d}'.format(iLast)+'.pdf' plt.savefig(fnam5) print('Written file', fnam5) #fig5.clf() #----------------------------------------------------------------------------------- # plot mode interactive or pdf if plot != 2: plt.tight_layout() plt.show()Any kind of help will be greatly appreciated.
Have a nice day :)