Ich habe 58 Dateien, die ich plotten muss. Einige von ihnen sind leer (nicht wichtig, ich habe sie bereits mit der if-Bedingung übersprungen). Ich muss die Daten in den Dateien mit einer Loglog-Skala mit Fehlerbalken plotten. Und ich möchte die Plots am Ende speichern. Ich benutze Python, Spyder. Ich habe den folgenden Code geschrieben:Python: Plotten Fehlerbalken in einem Loglog-Maßstab, in einer Schleife und dann das Bild speichern
route='/......./'
L=np.arange (1,59, 1)
for i in range (L.shape[0]):
I=L[i]
name_sq= 'Spectra_without_quiescent_'+('{}'.format(I))+'.dat'
Q=np.loadtxt(route+name_sq)
if (len(Q) != 0):
x=Q[:,1]
y=Q[:,2]
z=Q[:,3]
fig=plt.errorbar(x,y,yerr=z, fmt = 'b')
fig.set_yscale('log')
fig.set_xscale('log')
xlabel='Frequency'
ylabel='Flux'
title='Spectrum_'+('{}'.format(I))+'.dat'
name='Spectrum_without_quiescent_'+('{}'.format(I))+'.pdf'
fig.savefig(route+name, fig)
jedoch, wenn ich es laufen, bekomme ich folgende Fehlermeldung:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "/media/chidiac/My Passport/DOCUMENTS/My_Publications/2-3C273_radio_spectra/Maximum_flux_code.py", line 49, in <module>
fig.set_yscale('log')
AttributeError: 'ErrorbarContainer' object has no attribute 'set_yscale'
Ich bin noch ein Anfänger in Python, und ich kann den Fehler nicht finden oder wie man es repariert. Jede Hilfe wird sehr geschätzt.