2016-04-13 15 views
0

HI Ich möchte einen Kreis um einige Daten in einem Diagramm platzieren. Ich benutze die Funktion in MatplotlibDaten in einem Diagramm in Matplotlib umkreisen

plt.Circle 

aber es scheint nicht zu funktionieren. Der Code, den ich verwende ist, ohne dass der Kommentar gesetzt Kreis Funktion das Diagramm erzeugt

[This is a comment

Wenn ich den Kommentar tun entfernen und das Programm ausführen, erhalte ich eine Grafik, die wie sieht , die ich zu manuell speichern, da das Programm es nicht mehr selbst speichert. Ich habe auch den Fehler:

plt.Cirlce((10e2,10e-21),.1, color = 'b', fill = False) 
    AttributeError: 'module' object has no attribute 'Cirlce' 

Den Code, ich verwende ist:

plt.figure() 
    plt.subplot(211) 
    #plt.Cirlce((10e2,10e-21),.1, color = 'b', fill = False) 
    plt.loglog(freqs, np.sqrt(Pxx_H1),'r',label='H1 strain') 
    plt.loglog(freqs, np.sqrt(Pxx_L1),'g',label='L1 strain') 
    plt.axis([fmin, fmax, 1e-24, 1e-19]) 
    plt.grid('on') 
    plt.ylabel('ASD (strain/rtHz)' , fontsize = 10) 
    plt.xlabel('Freq (Hz)' , fontsize = 10) 
    plt.tight_layout() 
    plt.legend(loc='upper center', prop = {'size':11}) 
    #plt.suptitle('Gravitational Wave Detection ', fontsize = 10) 
    plt.title('Advanced LIGO strain data near GW150914', fontsize = 10) 
    #plt.savefig('GW150914_ASDs.png') 


    plt.subplot(2,1,2) 
    plt.plot(time-tevent,strain_H1_whitenbp,'r',label='H1 strain') 
    plt.plot(time-tevent,strain_L1_shift,'g',label='L1 strain') 
    plt.plot(NRtime+0.002,NR_H1_whitenbp,'k',label='matched NR waveform') 
    plt.text(.1,-5, txt) 
    plt.xlim([-0.2,0.05]) 
    plt.ylim([-4,4]) 
    plt.xlabel('time (s) since '+str(tevent) , fontsize = 10) 
    plt.ylabel('whitented strain' , fontsize = 10) 
    plt.tight_layout() 
    plt.legend(loc='lower left', prop = {'size':10}) 
    plt.grid(True) 
    #plt.annotate(' Definite Sign ', xy = (0,3), xytext=(-0.08,3), arrowprops=dict(facecolor='black', shrink=0.05)) 
    #plt.annotate(' Of a Gw', xy = (-.08,2.5)) 
    plt.title('Advanced LIGO WHITENED strain data near GW150914', fontsize =   10) 
    plt.savefig('GW150914_strain_whitened_Example_2.jpg') 

ich Hilfe in der Lage zu schätzen wissen würde mir Kreis in den Daten zu helfen, die ich will.

#

Edit: Neue Grafik mit @Hun

helfen

enter image description here

+1

Sie haben Circle falsch geschrieben. – sulkeh

+0

Oh, das habe ich nicht bemerkt! Das hat dafür gesorgt, dass der Graph leer herauskam. Ich bekomme immer noch nicht den Graph, den ich möchte. –

Antwort

0

Sie benötigen add_artist() Methode für die Achse zu verwenden. Ändere dein Skript so.

circle1 = plt.Cirlce((10e2,10e-21),.1, color = 'b', fill = False) 
fig = plt.gcf() 
fig.gca().add_artist(circle1) 
+0

Ich habe diesen Codeabschnitt zum ersten Segment in meinem Code hinzugefügt, aber das Diagramm enthält immer noch keinen Kreis um den Teil der Daten, den ich möchte. Liegt es am Radius des Kreises? Ich habe versucht, es zu 10e-22 zu ändern, aber es erschien immer noch nicht. –

+0

Also habe ich den circle1 nicht in das argument add_artist eingefügt. Jetzt, wo ich das gemacht habe, bekomme ich eine lange Kolumne um Teile meiner Daten. Ich änderte den Code zu circle1 = plt.Circle ((100,10e-23), 5, color = 'b', fill = False) Ich werde den neuen Graphen zu meinem Beitrag hinzufügen. –

+0

Ich habe nur gezeigt, wie es geht, und nicht viel auf die Parameter geachtet. Ich kopiere einfach und kopiere deine Zeile, wie du sehen kannst. – Hun

Verwandte Themen