2013-05-06 9 views
6

मैं एक लॉग साजिशसाजिश 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() 

vlines

किसी भी साजिश में दिखाई नहीं देता है (यह plt.plot के लिए करता है) में खड़ी लाइनों साजिश कोशिश कर रहा हूँ के साथ vlines विचार? धन्यवाद!

+1

क्या आप अपने कोड के साथ कुछ (नकली?) डेटा भी शामिल कर सकते हैं? अगर आप नहीं जानते कि आप क्या इनपुट करते हैं तो यह जांचना मुश्किल है। – tacaswell

+3

आप अर्ध-लॉगरिदमिक साजिश का उपयोग क्यों करते हैं (जिसमें 'y = 0' मान नहीं हो सकते हैं) और फिर भी आपकी ऊर्ध्वाधर रेखा -1 से 1 तक बढ़ाना चाहते हैं? यदि आप पूरे आंकड़े में एक लाइन विस्तार करना चाहते हैं, तो आपको शायद 'axvline' का उपयोग करना चाहिए। –

+0

@ डेविडज़विकर ने अर्ध-लॉग को पूरी तरह याद किया .... आप किस एमपीएल का उपयोग कर रहे हैं? लॉग प्लॉट्स में अपरिभाषित मानों को कैसे क्लिप किया जाता है, इस बारे में कुछ tweaking किया गया है। – tacaswell

उत्तर

12

संपूर्ण साजिश रेंज में फैले लंबवत रेखाओं की साजिश के लिए, आप 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() 
संबंधित मुद्दे