दिलचस्प पोस्ट
मौजूदा टैब बंद करें क्या एक्सेन्ट से छुटकारा पाने के लिए और पूरी स्ट्रिंग को नियमित अक्षरों में बदलने का एक तरीका है? सी में कंसोल से एक लाइन को कैसे पढ़ा जाए? WCF बाइंडिंग द्वारा उपयोग किए गए Serializations के प्रदर्शन परीक्षण पूर्णांक आवरण वर्ग और == ऑपरेटर – जहां व्यवहार निर्दिष्ट है? एसडी कार्ड पर लिखने की अनुमति क्या जीसीसी स्वचालित रूप से स्थिर चर को शून्य पर आरंभ कर देती है? सीमा-त्रिज्या प्रतिशत (%) और पिक्सेल (पीएक्स) या उन्हें PHP में निर्देशिका आकार कैसे प्राप्त करें एक MySQL ब्लॉब में संग्रहीत एक छवि प्रदर्शित करना डेल्फी क्या "कीवर्ड" के साथ एक खराब अभ्यास है? इकाई फ़्रेमवर्क का उपयोग कर केवल एक फ़ील्ड को कैसे अपडेट करें? डेकोरेटर पैटर्न का उपयोग कब करना है? पायथन में HTTP प्रतिसाद की वर्णसेट / एन्कोडिंग प्राप्त करने का एक अच्छा तरीका मैं यह निर्धारित करने के लिए एक Windows DLL फ़ाइल का परीक्षण कैसे कर सकता हूं कि यह 32 बिट या 64 बिट है?

टिक लेबल पाठ को संशोधित करें

मैं एक भूखंड में कुछ चयनित टिकटिक लेबल के लिए कुछ संशोधनों को बनाना चाहता हूं।

उदाहरण के लिए, यदि मैं करता हूं:

label = axes.yaxis.get_major_ticks()[2].label label.set_fontsize(size) label.set_rotation('vertical') 

फ़ॉन्ट आकार और टिक लेबल का अभिविन्यास बदल दिया है।

हालांकि, अगर कोशिश करें:

 label.set_text('Foo') 

टिक लेबल संशोधित नहीं है अगर मैं भी करता हूं:

 print label.get_text() 

कुछ भी नहीं छपी है।

यहाँ कुछ और विचित्रता है जब मैंने यह कोशिश की:

  from pylab import * axes = figure().add_subplot(111) t = arange(0.0, 2.0, 0.01) s = sin(2*pi*t) axes.plot(t, s) for ticklabel in axes.get_xticklabels(): print ticklabel.get_text() 

केवल खाली स्ट्रिंग्स मुद्रित की जाती हैं, लेकिन प्लॉट में '0.0', '0.5', '1.0', '1.5' और '2.0' के रूप में लेबल किए गए टिक्सेस होते हैं।

वेब के समाधान से एकत्रित समाधान "टिक लेबल पाठ को संशोधित करें"

चेतावनी: जब तक टिकेलबेल्स पहले से ही स्ट्रिंग पर सेट नहीं हो (जैसा कि आमतौर पर एक बॉक्सप्लेट में मामला होता है), यह 1.1.0 से अधिक नए matplotlib के साथ काम नहीं करेगा। यदि आप मौजूदा गिथूब मास्टर से काम कर रहे हैं, तो यह काम नहीं करेगा। मुझे यकीन नहीं है कि समस्या अभी तक क्या है … यह एक अनपेक्षित परिवर्तन हो सकता है या हो सकता है …

आम तौर पर, आप इन पंक्तियों के साथ कुछ करना चाहते हैं:

 import matplotlib.pyplot as plt fig, ax = plt.subplots() # We need to draw the canvas, otherwise the labels won't be positioned and # won't have values yet. fig.canvas.draw() labels = [item.get_text() for item in ax.get_xticklabels()] labels[1] = 'Testing' ax.set_xticklabels(labels) plt.show() 

यहां छवि विवरण दर्ज करें

इस कारण को समझने के लिए कि आपको इतने सारे हुप्स के माध्यम से कूदने की ज़रूरत है, आपको थोड़ा और अधिक समझने की आवश्यकता है कि कैसे matplotlib संरचित है।

Matplotlib जानबूझकर ticks की "स्थिर" स्थिति, आदि, जब तक यह स्पष्ट रूप से करने के लिए कहा जाता है टाल। धारणा यह है कि आप साजिश के साथ बातचीत करना चाहते हैं, और इसलिए भूखंड, टिक, टिकलेबेल आदि की सीमाएं गतिशील रूप से बदलती रहेंगी।

इसलिए, आप केवल एक दिए गए टिक लेबल का टेक्स्ट सेट नहीं कर सकते डिफ़ॉल्ट रूप से, यह अक्ष के लोकेटर और फॉर्मेट द्वारा पुनः निर्धारित किया जाता है, जब भी प्लॉट तैयार हो जाता है।

हालांकि, यदि FixedLocator और FixedFormatter स्थिर ( FixedLocator और FixedFormatter , क्रमशः) हैं, तो टिक लेबल एक ही रहेंगे।

यह वही है जो set_*ticklabels या ax.*axis.set_ticklabels करता है

उम्मीद है कि यह थोड़ा अधिक स्पष्ट करता है कि एक व्यक्तिगत टिक लेबल को बदलने के कारण थोड़ा जटिल है।

अक्सर, जो आप वास्तव में करना चाहते हैं वह सिर्फ एक निश्चित स्थिति का विवरण है उस मामले में, annotate , बजाय

matplotlib नए संस्करणों में, यदि आप matplotlib मूल्यों के एक समूह के साथ टिक लेबल सेट नहीं करते हैं, तो वे डिफ़ॉल्ट रूप से '' (और जब प्लॉट खींचा जाते हैं तो लेबल केवल टिक मूल्य होते हैं)। यह जानने के लिए, अपना वांछित उत्पादन प्राप्त करने के लिए कुछ इस तरह की आवश्यकता होगी:

 >>> from pylab import * >>> axes = figure().add_subplot(111) >>> a=axes.get_xticks().tolist() >>> a[1]='change' >>> axes.set_xticklabels(a) [<matplotlib.text.Text object at 0x539aa50>, <matplotlib.text.Text object at 0x53a0c90>, <matplotlib.text.Text object at 0x53a73d0>, <matplotlib.text.Text object at 0x53a7a50>, <matplotlib.text.Text object at 0x53aa110>, <matplotlib.text.Text object at 0x53aa790>] >>> plt.show() 

और परिणाम: यहां छवि विवरण दर्ज करें

और अब अगर आप _xticklabels , तो वे अब '' का एक गुच्छा नहीं हैं।

 >>> [item.get_text() for item in axes.get_xticklabels()] ['0.0', 'change', '1.0', '1.5', '2.0'] 

यह संस्करण 1.1.1rc1 से वर्तमान संस्करण 2.0 में काम करता है।

कोई भी यह पीलैब और xticks के साथ भी कर सकता है

 import pylab as plt x = [0,1,2] y = [90,40,65] labels = ['high', 'low', 37337] plt.plot(x,y, 'r') plt.xticks(x, labels, rotation='vertical') plt.show() 

http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

कुल्हाड़ियों के वर्ग में एक set_yticklabels फ़ंक्शन होता है जो आपको टिक लेबल सेट करने की अनुमति देता है, जैसे:

 #ax is the axes instance group_labels = ['control', 'cold treatment', 'hot treatment', 'another treatment', 'the last one'] ax.set_xticklabels(group_labels) 

मैं अब भी काम कर रहा हूं कि आपका उपरोक्त उदाहरण क्यों काम नहीं करता।

यह काम:

 import matplotlib.pyplot as plt fig, ax1 = plt.subplots(1,1) x1 = [0,1,2,3] squad = ['Fultz','Embiid','Dario','Simmons'] ax1.set_xticks(x1) ax1.set_xticklabels(squad, minor=False, rotation=45) 

Feds

तुम कर सकते हो:

 for k in ax.get_xmajorticklabels(): if some-condition: k.set_color(any_colour_you_like) draw()