簡體   English   中英

在一個python腳本中將多個圖保存到不同的pdf文件

[英]Saving multiple plots to different pdf files within one python script

這是我當前的代碼。 它應該將多個圖繪制到2個不同的圖形上,並且可以正確執行( plt.show()的輸出與plt.show()的一樣),但是當我檢查生成的文件時,兩個圖形1中都保存了相同的圖形graph1.pdfgraph2.pdf ,並且應該只在graph1.pdf 我嘗試在保存第二個圖之前使用pdf.clf() ,這只會導致所述圖保存空白,而第一個圖仍正確保存。 知道我缺少什么嗎?

from matplotlib import pyplot as plt
from scipy.integrate import odeint as odin
import numpy as np

pdf = plt.figure()


phi_w_0 = [1.5,0]
damp = [0.02 , 0.05 , 0.1 , 0.2]

t = np.linspace(0,200,1000)

def f(w,t):
    return [w[1] , -(B*w[1]) + np.sin(w[0])] 

for B in damp:
    result = odin(f , phi_w_0 , t)
    plt.plot(t , result[:,1] , label='$ \\beta = $ %1.2lf ' % B)

plt.legend()
plt.xlabel('$ \\tau $')
plt.ylabel('$ \\phi $')
plt.show()
pdf.savefig("graph1.pdf")

plt.close()

def g(w,t): 
    return [w[1] , -(B*w[1]) + np.sin(w[0])]

for B in damp:
    result = odin(g , phi_w_0 , t)
    plt.plot(t , result[:,1] , label='$ \\beta = $ %1.2lf ' % B)

plt.legend()
plt.xlabel('$ \\tau $')
plt.ylabel('E')
plt.show()
pdf.savefig("graph2.pdf")
pdf.clf()
pdf = plt.figure()

解決了。 原來我認為自己必須清除它才是對的,但我沒有意識到以后必須再次調用它。 謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM