इस 3D bar graph sample code को देखते हुए, आप x-axis में संख्यात्मक डेटा को स्वरूपित दिनांक/समय तारों में कैसे परिवर्तित करेंगे? मैंने सफलता के बिना ax.xaxis_date() फ़ंक्शन का उपयोग करने का प्रयास किया है। मैंने plot_date() का उपयोग करने का भी प्रयास किया, जो 3 डी बार ग्राफ के लिए काम नहीं करता है। यहाँ नमूना कोड का एक संशोधित संस्करण को वर्णन करने के है कि मैं क्या करने की कोशिश कर रहा हूँ:Matplotlib: 3 डी बार ग्राफ़ में एक्स-अक्ष पर स्वरूपण दिनांक
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.dates as dates
dates = [dates.date2num(datetime.datetime(2009,3,12)),
dates.date2num(datetime.datetime(2009,6,9)),
dates.date2num(datetime.datetime(2010,1,1)),
#etc...
]
fig = plt.figure()
ax = Axes3D(fig)
for c, z in zip(['r', 'g', 'b', 'y'], [30, 20, 10, 0]):
xs = np.array(dates)
ys = np.random.rand(20)
ax.bar(xs, ys, zs=z, zdir='y', color=c, alpha=0.8)
ax.set_xlabel('Date & Time')
ax.set_ylabel('Series')
ax.set_zlabel('Amount')
plt.show()
alt text http://matplotlib.sourceforge.net/_images/bars3d_demo1.png
मैं सिर्फ अपने कोड की कोशिश की और मैं नहीं बल्कि अच्छी तरह से मेरी सेट अप पर (तारीखों के साथ एक्स मूल्यों मैच) साजिश रची। मैं पायथन 2.6.4 और नवीनतम matplotlib (संस्करण 0.9 9 .1) का उपयोग कर रहा हूँ। क्या आपको अपने पायथन पैकेज को अपडेट करने की आवश्यकता है? –
क्या आप सिर्फ xticks संख्याओं के बजाय स्ट्रिंग होना चाहते हैं? – Mark
हां, या सभी स्ट्रिंग्स को पहले से उत्पन्न करने के बजाय गतिशील रूप से टिक को प्रारूपित करने के लिए फ़ंक्शन नाम पास करने का विकल्प। – pokstad