2017-02-09 14 views
6

मैं एक बार चार्ट प्लॉट करने के लिए निम्नलिखित कोड का उपयोग कर रहा:matplotlib: पट्टी पर पांडा डेटा फ्रेम की साजिश एकाधिक स्तंभों चार्ट

import matplotlib.pyplot as pls 
my_df.plot(x='my_timestampe', y='col_A', kind='bar') 
plt.show() 

साजिश ठीक काम करता है। हालांकि, मैं साजिश पर 3 कॉलम: 'col_A', 'col_B', और 'col_C' वाले ग्राफ को सुधारना चाहता हूं। नीचे दिए गए उदाहरण चित्र में जैसा:

enter image description here

मैं col_A x- अक्ष ऊपर नीले रंग में प्रदर्शित, col_B x- अक्ष नीचे लाल रंग में, और col_C x- अक्ष ऊपर हरे रंग में करना चाहते हैं। Matplotlib में यह कुछ संभव है? मैं सभी तीन कॉलम प्लॉट करने के लिए परिवर्तन कैसे करूं? धन्यवाद!

उत्तर

19

आप plot के y तर्क में कॉलम नामों की एक सूची की आपूर्ति करके कई कॉलम प्लॉट कर सकते हैं।

df.plot(x="X", y=["A", "B", "C"], kind="bar") 

enter image description here

यह एक ग्राफ जहां सलाखों एक दूसरे के बगल में बैठे हैं का उत्पादन करेगा।

उन्हें ओवरलैप करने के लिए, आपको कई बार plot पर कॉल करने की आवश्यकता होगी, और साजिश को ax के रूप में प्लॉट करने के लिए अक्षरों की आपूर्ति करने की आवश्यकता होगी।

import pandas as pd 
import matplotlib.pyplot as plt 
import numpy as np 

y = np.random.rand(10,4) 
y[:,0]= np.arange(10) 
df = pd.DataFrame(y, columns=["X", "A", "B", "C"]) 

ax = df.plot(x="X", y="A", kind="bar") 
df.plot(x="X", y="B", kind="bar", ax=ax, color="C2") 
df.plot(x="X", y="C", kind="bar", ax=ax, color="C3") 

plt.show() 

enter image description here

+0

दूसरे ग्राफ बेकार है क्योंकि आप 3 कॉलम में नीले और हरे रंग रंग नहीं देख सकता। बदलना संभव है कि कम मूल्य वाला ईवेंट देखने के लिए आखिरी एक बहुत अधिक – hudi

+0

दूसरी साजिश केवल तभी समझ में आती है जब उच्चतम मान सभी बार के लिए प्लॉट किए गए पहले कॉलम से होते हैं। यह सवाल से वांछित आउटपुट में मामला प्रतीत होता है। अन्यथा मैं इस तरह की साजिश का उपयोग करने की सिफारिश नहीं करता हूं और इसके बजाय यहां पहले समाधान से स्टैक्ड प्लॉट या समूहीकृत बार का उपयोग करता हूं। बेशक कोई पारदर्शिता ('अल्फा') के साथ प्रयोग कर सकता है और देख सकता है कि बाद वाला समाधान एक आकर्षक परिणाम देता है या नहीं। स्पष्टीकरण के लिए – ImportanceOfBeingErnest

+0

आह ठीक थक्स – hudi

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