2013-05-06 14 views
6

Próbuję działki pionowe linie na wykresie logdziałka vlines z matplotlib.pyplot

xv1 = 10 

plt.semilogy(t,P,'b') 
plt.semilogy(t,Pb,'r') 
plt.vlines(xv1,-1,1,color='k',linestyles='solid') 
plt.xlabel('Time [s]') 
plt.ylabel('P [Pa]') 
plt.grid() 
plt.show() 

The vlines nie pokazać się przy działce (robi dla plt.plot)

Any pomysły? Dzięki!

+1

. Czy możesz również podać niektóre (fałszywe?) Dane za pomocą kodu? Trudno jest sprawdzić, czy nie wiesz, co dodajesz. – tacaswell

+3

Dlaczego używasz wykresu półlogarytmicznego (który nie może zawierać wartości 'y = 0') i nadal chcesz, aby twoja linia pionowa rozciągała się od -1 do 1? Jeśli chcesz mieć linię rozciągającą się na całej figurze, prawdopodobnie powinieneś użyć 'axvline'. –

+0

@DavidZwicker Całkowicie przegapiłeś semi-log .... Jaką wersję mpl używasz? Nastąpiło pewne ulepszenie w sposobie obcięcia niezdefiniowanych wartości na wykresach dziennika. – tacaswell

Odpowiedz

12

Do wykreślania pionowych linii, które obejmują cały zakres wydruku, można użyć axvline. Twój kod mógł następnie odczytać

xv1 = 10 

plt.semilogy(t, P, 'b') 
plt.semilogy(t, Pb, 'r') 
plt.axvline(xv1, color='k', linestyle='solid') 
plt.xlabel('Time [s]') 
plt.ylabel('P [Pa]') 
plt.grid() 
plt.show()