python - Matplotlib's fill_between doesnt work with plot_date, any alternatives? -
मैं इस तरह से एक भूखंड बनाना चाहता हूं:
कोड:
P.fill_between (DF.start.index, DF.lwr, DF .उप, चेहरा रंग = 'नीला', अल्फा = .2) पी.प्लोट (डीएफ.प्रारंभ.इंडएक्स, डीएफ.आरटी, '।') लेकिन एक्स अक्ष में दिनांक के साथ , इस तरह (बैंड के बिना):
कोड:
P.plot_date (DF.start, DF.Rt, '।') समस्या यह है कि fill_between विफल रहता है जब x मान date_time ऑब्जेक्ट होते हैं।
क्या किसी को एक वैकल्पिक हल के बारे में पता है? डीएफ एक पांडा डेटाफ़्रेम है।
अगर आप यह दिखाते हैं कि df परिभषित किया। df.info () क्या रिपोर्ट करता है? यह हमें स्तंभों के dtypes दिखाएगा।
तारों का प्रतिनिधित्व किया जा सकता है कि कई तरीके हैं: स्ट्रिंग, ints, floats, datetime.datetime, NumPy datetime64s, पंड्स टाइमस्टैम्प, या पंडस DatetimeIndex साजिश का सही तरीका यह है कि आपके पास क्या है।
यदि आपका कोड दिखा रहा है, तो यह एक उदाहरण है यदि df.index एक DatetimeIndex है:
< कोड> आयात आयात के रूप में एनपी आयात पंडों को पीडी आयात के रूप में आयात करें matplotlib.pyplot जैसा कि सिपी आयात आंकड़ों से पीएलटी सूचकांक = pd.date_range (start = '2000-1-1', अंत = '2015-1-1', 'freq =' एम ') एन = लेन (सूचकांक) poisson = (stats.poisson.rvs (1000, आकार = (एन, 3)) / 100.0) poisson.sort (अक्ष = 1) df = pd.DataFrame (poisson, स्तंभ = [' Lwr ',' rt ',' upr '], index = index) plt.fill_between (df.index, df.lwr, df.upr, facecolor =' blue ', alpha = .2) plt.plot (df.index , Df.Rt, '।') Plt.show ()
यदि सूचकांक तारों के तारों का प्रतिनिधित्व करता है, तो (मप्प्टललिब संस्करण 1.4.2 के साथ) आपको एक TypeError मिलेगा:
import नमक के रूप में एनपी आयात पंडों को पीडी आयात के रूप में matplotlib.pyplot के रूप में एसपीपी आयात आंकड़ों से सूचकांक = pd.date_range (start = '2000-1-1', end = '2015-1-1', fr एआईसी = 'एम') एन = लेन (इंडेक्स) पॉिसन = (आँकड़े.poisson.rvs (1000, आकार = (एन, 3)) / 100.0) पॉसों .ोर्ट (अक्ष = 1) df = pd.DataFrame (poisson, कॉलम = ['लिफ़्ट', 'आरटी', 'ऊप']) सूचकांक = [आइटम। आश्रय (सूचकांक में आइटम के लिए '% Y-% m-% d')] plt.fill_between (सूचकांक, df.lwr, df .upr, facecolor = 'blue', अल्फा = .2) plt.plot (सूचकांक, df.Rt, '।') Plt.show () पैदावार
< प्री> फ़ाइल "/होम / अनूंटू /। वर्चुअलएन्व्स् / डेव / लोकल / लिब / पाइथोन 2/7 / साइट- पैकेज / नम्प / आई / कोर", पंक्ति 2237, मास्केड_अनुमति की स्थिति में = ~ (np.isfinite (ए)) TypeError: इस प्रकार के लिए कार्यान्वित नहीं है, इस स्ट्रिंग को टाइमस्टैम्प में कनवर्ट करना तय है:
index = pd To_datetime (सूचकांक)
Comments
Post a Comment