使用matplotlib.pyplot绘制vlines

use*_*460 8 python plot matplotlib

我试图在对数图中绘制垂直线

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()
Run Code Online (Sandbox Code Playgroud)

vlines没有显示在图中(对于plt.plot来说)

有任何想法吗?谢谢!

Dav*_*ker 18

对于绘制跨越整个绘图范围的垂直线,您可以使用axvline.然后您的代码可以读取

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()
Run Code Online (Sandbox Code Playgroud)