2017-07-06 2 views
0

Ich versuche, mehrere Plots in einem Verzeichnis zu speichern. Problem ist, ich möchte keinen Zähler für die verschiedenen Dateinamen verwenden, da sie alle unterschiedliche ID-Nummern haben, die als trk_id oder j bezeichnet werden. Wenn Sie mehr Code benötigen, lassen Sie es mich bitte wissen! Außerdem weiß ich, dass dieser Code nur den gleichen Namen verwendet und jede Datei überschreibt.Mehrere Plots mit verschiedenen Namen speichern

for i, j in enumerate(trk_id): 
      t = np.arange(0, 3*3600) + t0_b[i] 
      g_x = f_r(tau_b[i], t0_b[i], c0_b[i], c1_b[i], c2_b[i]) 
      fig,ax = plt.subplots() 
      ax.plot(t, g_x(t)) 
      plt.yscale('log') 
      plt.ylabel('Height (arcsec)') 
      plt.xlabel('Time (s)') 
      ax.set_title(j) 
      plt.savefig('plots/j.png') 
+1

erzeugen Die Frage ist ziemlich unklar. Wenn der Code, den Sie zeigen, kein [mcve] des Codes ist, den Sie tatsächlich verwenden möchten, wie sollte jemand das tatsächliche Problem wissen? Außerdem haben Sie vergessen, uns das eigentliche Problem zu nennen. – ImportanceOfBeingErnest

+0

Entschuldigung. Diese Schleife erzeugt ein Diagramm mit spezifischen Parametern aus mehreren Listen. Ich dachte mir, der gesamte Code wäre ein Alptraum für die Zwecke anderer. Das Problem ist, wenn ich jede Handlung speichere, sie werden alle unter dem gleichen Namen gespeichert und überschreiben sich gegenseitig, so dass am Ende nur noch eine Handlung übrigbleibt, die letzte Handlung. –

Antwort

0

Um die Schleifenvariable j als Dateinamen zu verwenden, können Sie eine Zeichenfolge wie

filename = 'plots/' + str(j) +'.png' 
plt.savefig(filename) 

oder

filename = 'plots/{}.png'.format(j) 
plt.savefig(filename) 
+0

Heilige Weihnachten! Es klappt! Ich danke dir sehr! –

Verwandte Themen