2012-10-30 22 views
14

मैं plot(x, sin(x)) चाहते हैं, लेकिन एक पंक्ति के बजाय (xi,yi) से (x_i+1,y_i+1) को मैं (xi,0)(xi,yi) के रूप में कभी कभी अंक के बीच प्रक्षेप से प्रत्येक बिंदु के लिए एक खड़ी रेखा चाहते कोई मतलब नहीं है (जैसे मात्रा निर्धारित डेटा) है (और इसकी काफी बेहतर है कि ऊर्ध्वाधर के साथ लग रहा है बिना लाइन से)।matplotlib में स्टेम साजिश?

नीचे स्टेम प्लॉट (मैटलैब डॉक्स से) की तरह ही, लेकिन मंडलियों को बंद करने और बिंदुओं के बीच "-" को बंद करने में सक्षम होने के विकल्प के साथ। दुर्भाग्य से, मुझे matplotlib दस्तावेज में एक उचित साजिश समारोह नहीं मिला।

stem plot

उत्तर

16

एक stem plot (यानी लॉलीपॉप साजिश) नहीं है का उपयोग करना चाहते।


आप नीचे the docs से एक उदाहरण मिल सकते हैं (जाहिर है एक import * वास्तविक कोड में pylab से! नहीं होगा)।

#!/usr/bin/env python 
from pylab import * 

x = linspace(0.1, 2*pi, 10) 
markerline, stemlines, baseline = stem(x, cos(x), '-.') 
setp(markerline, 'markerfacecolor', 'b') 
setp(baseline, 'color','r', 'linewidth', 2) 

show() 

stem plot


आप आधारभूत का y-स्थिति को समायोजित करने के लिए चाहते हैं, तो आप bottom पैरामीटर का उपयोग कर सकते हैं। (प्रलेखन जानकारी के इस बिट याद करते हैं।)

(अनुकूलित) उदाहरण:

#!/usr/bin/env python 
from pylab import * 

x = linspace(0.1, 2*pi, 10) 
stem(x, cos(x), '-.', bottom=-2) 

show() 

stem plot 2

+0

है धन्यवाद अब मुझे नीली मंडलियों को हटाने का तरीका पता लगाने की आवश्यकता है। – arynaq

+1

@ user948652 आपको केवल 'markerfmt' पैरामीटर को उचित रूप से सेट करने की आवश्यकता है, उदा। 'Markerfmt = '।' '। कॉल पैरामीटर के दस्तावेज़ीकरण पर नज़र डालें, यह अच्छी तरह से समझाया गया है। – moooeeeep

+0

हालांकि नकारात्मक अनंतता पर उपजी शुरू करने का कोई तरीका है? मुझे ऐसा कुछ चाहिए: https://namoseley.files.wordpress.com/2012/09/sin_poly_spectrum_small.png – endolith

0

मुझे लगता है कि आप के रूप में अच्छी matplotlib में linestyle = 'steps--'

plot(x, sin(x), linestyle='steps--') 
+0

यह एक क्षैतिज कदम साजिश है, .gif लिंक – arynaq

+0

में की तरह खड़ी लाइनों ऐसा नहीं करता है मेरा बुरा, मुझे लगता है कि @moooeeeep में यह – reptilicus

संबंधित मुद्दे