Функция сохранения Matplotlib не работает в Spyder - PullRequest
0 голосов
/ 20 января 2019

Я использую среду Spyder.После сюжета я поставил функцию savefig.Но это не сохранение графиков в соответствующей папке.

Часть кода -

for t in range(1,int(TotT/dt)):
    plt.clf()

    v2_a=(dt*1E-15)*f(x2[-1],v2[-1])    # Heat Bath for site 2. Time step converted to fs.
    v2_b=(dt*1E-15)*f(x2[-1]+(dt*1E-15)*v2[-1],v2[-1]+v2_a)
    v2_next=v2[-1]+0.5*(v2_a+v2_b)

    x2_a=(dt*1E-15)*v2[-1]
    x2_b=(dt*1E-15)*(v2[-1]+v2_a)
    x2_next=x2[-1]+0.5*(x2_a+x2_b)

    v2.append(v2_next)
    x2.append(x2_next)

    E2=Lambda*x2[-1]

    prop_tdep=np.zeros([720,720],dtype=complex)

    np.fill_diagonal(prop_tdep[:360,:360],1)
    np.fill_diagonal(prop_tdep[360:,360:],np.exp(-1j*E2*dt/hbar))

    prop_1=np.matmul(prop_tdep,psi[:,t-1]) #First multiplication in time propagation 

    psi[:,t]=np.matmul(prop_0,prop_1)

    if t%int(1/dt)==0:
        plt.plot(prob_dens(np.fft.fftshift(psi[:360,t])),'xkcd:forest green')
        plt.title("Elapsed time = %s fs"%(t*dt))
        plt.xlabel("~Angular Momentum",size=18)
        plt.ylabel("Probability density",size=16)
        plt.tick_params(axis='both', labelsize=14,which='both')
        plt.tick_params(direction='in', length=7, width=1.1, colors='k',which='major')
        plt.tick_params(direction='in', length=4, width=1.1, colors='k',which='minor')
        #plt.axes().yaxis.set_minor_locator(MultipleLocator(0.1))
        #plt.axes().xaxis.set_minor_locator(MultipleLocator(30))
        plt.savefig("FT_2states_dyn_withBath-%04d"%(t*dt))
        print((t*dt))

1 Ответ

0 голосов
/ 20 января 2019

Вы не указываете формат для сохранения.Вы можете сделать это, добавив его к имени файла, чтобы оно распознавалось автоматически

plt.savefig("filename.png")

, или вы можете указать его как параметр, если не хотите, чтобы ваш файл содержал расширение.

plt.savefig("filename", format="png")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...