2011-01-21 5 views
48

में एक साजिश के लिए धुरी, टिक और लेबल का रंग बदलना, मैं अक्ष के रंग को बदलना चाहता हूं, साथ ही साथ एक प्लॉट के लिए टिक्स और वैल्यू-लेबल्स को बदलना चाहता हूं जिसे मैंने matplotlib को एक PyQt का उपयोग करके किया था।matplotlib

कोई विचार?

+0

अक्ष के लिए डुप्लिकेट: http: //stackoverflow.com/questions/1982770/matplotlib-changing-the-color-of-an-axis – Mark

उत्तर

73

एक त्वरित उदाहरण के रूप में (संभावित डुप्लिकेट प्रश्न की तुलना में एक से थोड़ा क्लीनर विधि का उपयोग कर):

import matplotlib.pyplot as plt 

fig = plt.figure() 
ax = fig.add_subplot(111) 

ax.plot(range(10)) 
ax.set_xlabel('X-axis') 
ax.set_ylabel('Y-axis') 

ax.spines['bottom'].set_color('red') 
ax.spines['top'].set_color('red') 
ax.xaxis.label.set_color('red') 
ax.tick_params(axis='x', colors='red') 

plt.show() 

alt text

+0

अब तक धन्यवाद। ax.tick_params (अक्ष = 'x', रंग = 'लाल') एक एक्सिससबप्लॉट का उत्पादन करता है 'tick_params' त्रुटि नहीं है। तुम जानते हो क्यों? –

+11

हम्म ... यह अजीब है ... आप matplotlib का किस संस्करण का उपयोग कर रहे हैं? Ax.xaxis.get_ticklabels()] में टी के लिए ax.xaxis.get_ticklines()] 'और' [t.set_color ('red') में टी के लिए 't.set_color ('red') करना है। । –

11

आप कई आंकड़े या subplots जिसे आप संशोधित करना चाहते हैं, तो यह सहायक हो सकता है प्रत्येक व्यक्ति को अलग-अलग बदलने के बजाय, रंग बदलने के लिए matplotlib context manager का उपयोग करने के लिए। संदर्भ प्रबंधक आपको तुरंत निम्नलिखित इंडेंट कोड के लिए आरसी पैरामीटर अस्थायी रूप से बदलने की अनुमति देता है, लेकिन वैश्विक आरसी पैरामीटर को प्रभावित नहीं करता है।

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

import matplotlib.pyplot as plt 
with plt.rc_context({'axes.edgecolor':'orange', 'xtick.color':'red', 'ytick.color':'green', 'figure.facecolor':'white'}): 
    # Temporary rc parameters in effect 
    fig, (ax1, ax2) = plt.subplots(1,2) 
    ax1.plot(range(10)) 
    ax2.plot(range(10)) 
# Back to default rc parameters 
fig, ax = plt.subplots() 
ax.plot(range(10)) 

enter image description here

enter image description here

आप सभी उपलब्ध rc मानकों को देखते हैं, और सूची समझ का उपयोग करने के plt.rcParams टाइप कीवर्ड खोजने के लिए कर सकते हैं:

# Search for all parameters containing the word 'color' 
[(param, value) for param, value in plt.rcParams.items() if 'color' in param] 

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

  • कोई संबंधित समस्या नहीं^_^