मैंने 3 अलग-अलग रंगों के साथ एक स्कैटर प्लॉट बनाया और मैं प्रतीक के रंग और किंवदंती में पाठ से मेल खाना चाहता हूं।matplotlib: स्कैटर प्लॉट में प्रतीक के साथ मैच लीजेंड टेक्स्ट रंग
एक अच्छा solution लाइन भूखंडों के मामले के लिए मौजूद हैं:
leg = ax.legend()
# change the font colors to match the line colors:
for line,text in zip(leg.get_lines(), leg.get_texts()):
text.set_color(line.get_color())
हालांकि, बिखराव साजिश रंग 3 रंग के मामले .For get_lines()
द्वारा पहुँचा नहीं जा सकता मुझे लगता है कि मैं मैन्युअल रूप से पाठ रंग सेट कर सकते हैं एक- उदाहरण के लिए एक-एक करके। text.set_color('r')
। लेकिन मैं उत्सुक था अगर इसे लाइनों के रूप में स्वचालित रूप से किया जा सकता है। धन्यवाद!
कैसे get_children' के बारे में ' या 'get_patches'? क्या आप न्यूनतम कामकाजी उदाहरण प्रदान कर सकते हैं? आप अन्य विचारों के लिए पौराणिक तरीकों को देखना चाह सकते हैं: https://matplotlib.org/1.3.0/api/legend_api.html –
@AleksanderLidtke सुझावों के लिए धन्यवाद! मैंने पहले 'leg.get_patches()' की कोशिश की और कुछ भी वापस नहीं आया। मैंने अभी 'leg.get_children() 'की कोशिश की है और यह' matplotlib.offsetbox.VPacker' और 'matplotlib.patches.FancyBboxPatch' ऑब्जेक्ट्स लौटाता है, जिनमें से कोई भी संपत्ति 'get_color()' है। समाधान लिंक में लाइनों के लिए एक कामकाजी उदाहरण है, स्कैटर प्लॉट्स के साथ खेद है, मेरे पास केवल एक गैर-कामकाजी उदाहरण है ... – Phyinmi
एक गैर-कामकाजी उदाहरण ठीक है। कृपया, बस एक साधारण उदाहरण बनाएं जो दिखाता है कि आप स्कैटर प्लॉट और किंवदंती कैसे बनाते हैं। यदि यह काम नहीं करता है, तो कृपया कहें कि आपको कौन सी त्रुटियां मिलती हैं। –