का उपयोग कर एक्स-अक्ष पर विशिष्ट तिथियों के विरुद्ध डेटा प्लॉट कैसे करें मेरे पास डेट-वैल्यू जोड़े वाले डेटासेट हैं। मैं एक्स-अक्ष में विशिष्ट तिथियों के साथ उन्हें बार ग्राफ़ में प्लॉट करना चाहता हूं।matplotlib
मेरे समस्या यह है कि matplotlib
पूरे तिथि सीमा में xticks
वितरित करता है; और अंक का उपयोग कर डेटा प्लॉट भी करता है।
दिनांकों सभी datetime
वस्तुओं रहे हैं। यहाँ डाटासेट का एक नमूना है:
data = [(DT.datetime.strptime('2010-02-05', "%Y-%m-%d"), 123),
(DT.datetime.strptime('2010-02-19', "%Y-%m-%d"), 678),
(DT.datetime.strptime('2010-03-05', "%Y-%m-%d"), 987),
(DT.datetime.strptime('2010-03-19', "%Y-%m-%d"), 345)]
यहाँ एक runnable कोड का उपयोग नमूना है pyplot
import datetime as DT
from matplotlib import pyplot as plt
data = [(DT.datetime.strptime('2010-02-05', "%Y-%m-%d"), 123),
(DT.datetime.strptime('2010-02-19', "%Y-%m-%d"), 678),
(DT.datetime.strptime('2010-03-05', "%Y-%m-%d"), 987),
(DT.datetime.strptime('2010-03-19', "%Y-%m-%d"), 345)]
x = [date for (date, value) in data]
y = [value for (date, value) in data]
fig = plt.figure()
graph = fig.add_subplot(111)
graph.plot_date(x,y)
plt.show()
प्रश्न सारांश:
मेरे स्थिति और अधिक की तरह मैं एक Axes
उदाहरण के लिए तैयार है (द्वारा संदर्भित उपरोक्त कोड में) और मैं निम्नलिखित करना चाहता हूं:
xticks
सटीक दिनांक मानों के अनुरूप करें। मैंनेmatplotlib.dates.DateLocator
के बारे में सुना है, लेकिन मुझे नहीं पता कि कैसे एक बनाएं और फिर इसे एक विशिष्टAxes
ऑब्जेक्ट से संबद्ध करें।- इस्तेमाल किया जा रहा (बार, रेखा, अंक, आदि) ग्राफ़ का प्रकार अधिक से अधिक नियंत्रण हासिल
बस एक टिप: के बाद से अपने प्रश्न वास्तव में matplotlib के बारे में विशुद्ध रूप से है और कुछ भी wxWidgets के लिए विशिष्ट नहीं है, यह चीजों को आसान करता है, तो आप को बदल कर सकता था 'matplotlib.pyplot' से फ़ंक्शंस का उपयोग करने के लिए आपका उदाहरण और Wx सामान को इसके बाहर छोड़ दें। –
@ डेविड: फिक्स्ड। धन्यवाद, मुझे एहसास हुआ कि वहां अधिक लोग हो सकते हैं जो 'matplotlib' + 'pyplot' को' matplotlib' +' wx' – Kit