नया matplotlib उपयोगकर्ता यहां। मैं डेटा की एक रंग कोडित लाइन, या बेहतर, डेटा की एक रंग कोडित रेंज प्लॉट करने की कोशिश कर रहा हूं। वाई-अक्ष के साथ रंग कोडिंग अंतराल। एक कच्चे प्रदर्शन स्क्रिप्ट इस प्रकार है:Matplotlib - ग्रिड और साजिश रंग कोडित y मान/डेटा श्रेणी
import matplotlib.pyplot as plt
# dummy test data
datapoints = 25
maxtemps = [ 25, 24, 24, 25, 26, 27, 22, 21, 22, 19, 17, 14, 13, 12, 11, 12, 11, 10, 9, 9, 9, 8, 9, 9, 8 ]
mintemps = [ 21, 22, 22, 22, 23, 24, 18, 17, 16, 14, 10, 8, 8, 7, 7, 6, 5, 5, 5, 4, 4, 4, 3, 4, 3 ]
times = list(xrange(datapoints))
# cap a filled plot at a given level
def capped(indata, cap):
outdata = [0] * datapoints
lcount = 0
while lcount < datapoints:
if indata[lcount] > cap:
outdata[lcount] = cap
else:
outdata[lcount] = indata[lcount]
lcount += 1
return outdata
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.fill_between(times, 0, maxtemps, color='#FF69B4', zorder=1, linewidth=0.1)
ax1.fill_between(times, 0, capped(maxtemps,25), color='#F08228', zorder=2, linewidth=0.1)
ax1.fill_between(times, 0, capped(maxtemps,20), color='#E6AF2D', zorder=3, linewidth=0.1)
ax1.fill_between(times, 0, capped(maxtemps,15), color='#E6DC32', zorder=4, linewidth=0.1)
ax1.fill_between(times, 0, capped(maxtemps,10), color='#A0E632', zorder=5, linewidth=0.1)
ax1.fill_between(times, 0, capped(maxtemps,5), color='#00DC00', zorder=6, linewidth=0.1)
ax1.fill_between(times, 0, mintemps, color='#FFFFFF', zorder=7, linewidth=0.1)
plt.setp(ax1.get_xticklabels(), visible=False)
ax1.grid(True, zorder=8)
ylim(0)
plt.draw()
plt.show()
काम का सबसे करता है, लेकिन यह दो सवाल भीख माँगता।
क्या मैटलप्लिब सुविधा के साथ इस प्रभाव को प्राप्त करने के लिए एक और अधिक प्रत्यक्ष, सुरुचिपूर्ण तरीका है, मुझे अनजान है? यह या तो समय सारणी डेटा (1) सरणी डेटा (या) इस डेटा के दो सेट (उदाहरण के लिए, अधिकतम, न्यूनतम तापमान) के बीच एक सीमा को चित्रित करने के लिए है?
जितना मैं कर सकता हूं, कोशिश करें, मैं आंकड़े के शीर्ष पर प्लॉट करने के लिए ग्रिड लाइनों को मनाने के लिए राजी नहीं कर सकता। वे हमेशा प्लॉट किए गए डेटा के पहले सेट के शीर्ष पर बैठते हैं और फिर प्लॉट के निचले हिस्से को छोड़कर, बाद में प्लॉट किए गए डेटा द्वारा दफन हो जाते हैं। ज़ॉर्डर का उपयोग अनदेखा प्रतीत होता है।
बहुत धन्यवाद।