2010-09-15 10 views
8

मैंने ax = imshow() के साथ एक छवि साजिश बनाई है। ax एक एक्सिस इमेज ऑब्जेक्ट है, लेकिन मुझे टिक लेबल को कस्टमाइज़ करने के लिए एसेस करने के लिए आवश्यक फ़ंक्शन या विशेषता नहीं मिल रही है। ordinary pyplots में set_ticks और set_ticklabels विधियां प्रतीत होती हैं, लेकिन ये एक्सिस इमेज क्लास के लिए उपलब्ध नहीं लगती हैं। कोई विचार? धन्यवाद ~एक्सिस इमेज के लिए टिक अनुकूलित करें?

उत्तर

8

क्या इसके लायक है के लिए, आप थोड़ा क्या imshow() रिटर्न गलत समझ रहे हैं, और कैसे matplotlib कुल्हाड़ियों सामान्य रूप में संरचित कर रहे हैं ...

एक AxesImage वस्तु छवि प्रदर्शित करने के लिए जिम्मेदार है (उदाहरण के colormaps, डेटा, इत्यादि), लेकिन धुरी नहीं है कि छवि में रहता है। यह टिकों और टिक लेबल जैसे चीजों पर कोई नियंत्रण नहीं है।

आप जो मौजूदा उपयोग करना चाहते हैं वह वर्तमान धुरी उदाहरण है।

यदि आप pylab इंटरफ़ेस या matplotlib.pyplot.gca का उपयोग कर रहे हैं, तो आप gca() के साथ इसका उपयोग कर सकते हैं, यदि आप pyplot के माध्यम से चीजों तक पहुंच रहे हैं। हालांकि, यदि आप किसी एक का उपयोग कर रहे हैं, तो xtick लेबल और स्थानों को प्राप्त/सेट करने के लिए xticks() फ़ंक्शन है।

उदाहरण के लिए (pylab उपयोग करते हुए):

import pylab 
pylab.figure() 
pylab.plot(range(10)) 
pylab.xticks([2,3,4], ['a','b','c']) 
pylab.show() 

एक और अधिक वस्तु उन्मुख दृष्टिकोण का उपयोग करना (एक यादृच्छिक नोट पर, matplotlib के getters और setters जल्दी से कष्टप्रद मिल ...):

import matplotlib.pyplot as plt 
import numpy as np 
fig = plt.figure() 
ax = fig.add_subplot(1,1,1) # Or we could call plt.gca() later... 
im = ax.imshow(np.random.random((10,10))) 
ax.set_xticklabels(['a','b','c','d']) # Or we could use plt.xticks(...) 

उम्मीद है कि चीजों को थोड़ा सा साफ़ करता है!

+0

यूप! धन्यवाद - मैंने उम्मीद की थी कि यह मैटलैब के समान कुछ हो, जहां छवि() अक्ष संभालती है। ऑब्जेक्ट का नाम भी थोड़ा भ्रामक है ... मैंने नोटिस किया कि गेटर/सेटर के बारे में भी! मैटलैब में मैं अक्सर 'cellarray {:} 'नोटेशन का उपयोग करके अक्ष सेटर्स को तर्क पास करता हूं जो कि' * args' और' ** kwargs' पायथन के सिंटैक्स की तरह होगा, लेकिन इस मामले में यह काफी सरल नहीं है (हालांकि मैं मुझे यकीन है कि इसके आसपास के तरीके हैं)। – hatmatrix

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