माटप्लोटलिब बिखरे हुए बिंदुओं को रेखा से जोड़ते हैं - पायथन


102

मेरे पास दो सूचियाँ, दिनांक और मूल्य हैं। मैं उन्हें matplotlib का उपयोग करके प्लॉट करना चाहता हूं। निम्नलिखित मेरे डेटा का स्कैटर प्लॉट बनाता है।

import matplotlib.pyplot as plt

plt.scatter(dates,values)
plt.show()

plt.plot(dates, values) एक रेखा ग्राफ बनाता है।

लेकिन जो मैं वास्तव में चाहता हूं वह एक स्कैप्लेट है जहां अंक एक लाइन से जुड़े होते हैं।

आर में समान:

plot(dates, values)
lines(dates, value, type="l")

, जो मुझे बिंदुओं को जोड़ने वाली रेखा के साथ ओवरलेड का एक स्कैटलपॉट देता है।

मैं अजगर में यह कैसे करूँ?


5
show()दोनों को कॉल करने के बाद scatter()और plot()पहले?

जवाबों:


136

मुझे लगता है कि @Evert के पास सही उत्तर है:

plt.scatter(dates,values)
plt.plot(dates, values)
plt.show()

जो बहुत अधिक के रूप में ही है

plt.plot(dates, values, '-o')
plt.show()

या जो भी लाइनेस्टाइल आप पसंद करते हैं।


3
(वंशानुगत) matplotlib डॉक्स के माध्यम से पथ करने के लिए 'लिनेस्टी' मेरे लिए अच्छा कीवर्ड खोज सुराग था।
Reb.Cabin

2
@aronsnoswell का आकार और रंग केवल उन बिंदुओं के लिए समझ में आता है, जिन्हें आप अभी भी scatterमेरे पहले उदाहरण के अनुसार प्लॉट कर सकते हैं । प्रश्न अलग-अलग लाइन मोटाई या रंग के बारे में कुछ नहीं कहता है, इसलिए मुझे लगता है कि आपकी आलोचना थोड़ी अनुचित है, वास्तव में।
हेंस ओवेन

28

लाल रेखाओं के लिए एक अंक

plt.plot(dates, values, '.r-') 

या एक्स मार्करों और नीली रेखाओं के लिए

plt.plot(dates, values, 'xb-')

ऐसा लगता है कि आप, एवर्ट और किगुराई बिलकुल ठीक हैं। आप कॉलिंग शो () से पहले स्कैटर () और प्लॉट दोनों को कॉल कर सकते हैं। या बस रेखा और बिंदु विशेषताओं के साथ कॉल प्लॉट करें (जैसा कि स्टीव बार्न्स ने वर्णित किया है। धन्यवाद
brno792

14

अन्य उत्तरों में जो प्रदान किया गया है, उसके अलावा, कीवर्ड "ज़ॉर्डर" किसी को उस ऑर्डर को तय करने की अनुमति देता है जिसमें विभिन्न वस्तुओं को लंबवत रूप से प्लॉट किया जाता है। उदाहरण के लिए:

plt.plot(x,y,zorder=1) 
plt.scatter(x,y,zorder=2)

जबकि रेखा के शीर्ष पर तितर बितर प्रतीकों प्लॉट करता है

plt.plot(x,y,zorder=2)
plt.scatter(x,y,zorder=1)

तितर बितर प्रतीकों पर लाइन प्लॉट करता है।

देखें, उदाहरण के लिए, zorder डेमो

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.