2013-02-05 20 views
14

के सापेक्ष स्थिति को टिक्स करता है क्या लेबल और अक्ष के बीच टिक सेट करने के लिए matplotlib में कोई तरीका है क्योंकि यह मूल रूप से मूल रूप से है? ऑनलाइन उदाहरण अनुभाग इस सुविधा के साथ एक साजिश नहीं दिखाता है। मुझे साजिश क्षेत्र के बाहर टिक लगाना पसंद है क्योंकि कभी-कभी साजिश अंदर आने पर टिकों को छुपाती है।matplotlib अक्ष

+0

बारीकी से अपने टिक के साथ खेल सकते हो रही द्वारा http://stackoverflow.com/questions/14705904/matplotlib-ticks-thickness – tacaswell

उत्तर

27

सेट करने के लिए सिर्फ प्रमुख टिक:

ax = plt.gca() 
ax.get_yaxis().set_tick_params(direction='out') 
ax.get_xaxis().set_tick_params(direction='out') 
plt.draw() 

सभी टिक स्थापित करने के लिए (लघु और प्रमुख),

ax.get_yaxis().set_tick_params(which='both', direction='out') 
ax.get_xaxis().set_tick_params(which='both', direction='out') 
plt.draw() 

ही समय में दोनों x और y अक्ष सेट करने के लिए:

ax = plt.gca() 
ax.tick_params(direction='out') 

axis level doc और axes level doc

टिकों के सापेक्ष टिक लेबल को स्थानांतरित करने के लिए pad का उपयोग करें।

ax.tick_params(direction='out', pad=5) 
plt.draw() 

तुलना करें

ax.tick_params(direction='out', pad=15) 
plt.draw() 
+0

से संबंधित अंतिम व्यक्ति ठीक काम करता प्रतीत होता है। अब मुझे टिक लेबल को एक ही दूरी से स्थानांतरित करने का एक तरीका ढूंढना है। असल में मैंने गलती से दो बार कोड लाइन 'ax.tick_params (जो =' दोनों ', दिशा =' बाहर ', लंबाई = 25, चौड़ाई = 6) डाल दी और आश्चर्य की बात है कि यह आवश्यक राशि से साजिश के आकार को कम कर देता है एक आदर्श साजिश। लेकिन मुझे नहीं पता क्यों। – user1850133

+0

क्या आपको 'plt.draw()' शामिल करना याद आया? आप 'पैड' क्वार के साथ लेबल और टिक के बीच की जगह समायोजित कर सकते हैं। – tacaswell

+0

यहां http://matplotlib.org/api/pyplot_api.html?highlight=pyplot.draw#matplotlib.pyplot.draw; वे कहते हैं कि plt.draw() की आवश्यकता नहीं है संशोधन के अनुक्रम शो() के साथ समाप्त होता है; हालांकि मैंने plt.draw() की परिभाषा की जांच करने से पहले इसे आजमाया: यह कुछ भी नहीं बदला। 'पैड' क्या है? – user1850133

0

साथ मुझे लगता है कि आप इस की जरूरत है:

subplot वस्तु आप

ax = plt.subplot(111) 
yax = ax.get_yaxis() 
plt.xticks(y_pos, city) 
xtickNames=ax.set_xticklabels(city) 
plt.setp(xtickNames, rotation=45, fontsize=10) 

Following is the output with 45 degrees rotated ticks

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