2010-03-31 21 views
14

तो बिना axes.linewidth` स्थापना, यह एक ऐसा नहीं कर सकते लगता है (यह एक त्रुटि को जन्म देती है, axes के बाद से एक set_linewidth विधि नहीं है) के बाद:`` rcParams` वैश्विक dict बदलते

axes_style = {'linewidth':5} 
axes_rect = [0.1, 0.1, 0.9, 0.9] 

axes(axes_rect, **axes_style) 

और

rcParams['axes.linewidth'] = 5 # set the value globally 

... # some code 

rcdefaults() # restore [global] defaults 

वहाँ एक आसान/साफ रास्ता नहीं है (व्यक्तिगत रूप से मापदंडों अक्ष, आदि हो सकता है एक x सेट कर सकते हैं - - और y): बजाय निम्नलिखित वर्ष चाल का उपयोग करना है?

पीएस यदि नहीं, क्यों?

उत्तर

8

हाँ, वहाँ यह करने के लिए एक आसान और साफ रास्ता नहीं है।

कॉलिंग 'axhline' और 'axvline' एक धुरी उदाहरण से तकनीक एमपीएल प्रलेखन में समर्थन किया प्रतीत होता है।

जो भी हो, यह आसान है और आप कुल्हाड़ियों की उपस्थिति से अधिक सुक्ष्म नियंत्रण देता है।

तो उदाहरण के लिए, यह कोड एक साजिश बनाएगा और एक्स-अक्ष हरा रंग देगा और एक्स-अक्ष की रेखा चौड़ाई को "1" के डिफ़ॉल्ट मान से "4" के मान में बढ़ाएगा; वाई-अक्ष रंग लाल है और वाई-अक्ष की रेखा चौड़ाई "1" से "8" तक बढ़ी है।

from matplotlib import pyplot as PLT 
fig = PLT.figure() 
ax1 = fig.add_subplot(111) 

ax1.axhline(linewidth=4, color="g")  # inc. width of x-axis and color it green 
ax1.axvline(linewidth=4, color="r")  # inc. width of y-axis and color it red 

PLT.show() 

axhline/axvline समारोह आप किसी भी काफी जो कुछ भी आप सौंदर्य की दृष्टि से चाहते हैं, विशेष रूप से ~ matplotlib.lines.Line2D गुण के किसी भी वैध kwargs (जैसे, 'अल्फा' कर रहे हैं अनुमति देने के लिए जो चाहिए अतिरिक्त तर्क स्वीकार करता है , 'लिनस्टाइल', कैपस्टाइल, जॉइनस्टाइल)।

+0

धन्यवाद एक बहुत है, मैं यह कुछ घंटों में अधिक विवरण देखना दे देंगे। – mlvljr

+0

फिर से धन्यवाद, स्वीकार किया। – mlvljr

+1

Пожалуйста! साथी रूसी कोडर से मिलने के लिए हमेशा अच्छा लगा। – doug

39

ऊपर जवाब है, काम नहीं करता है के रूप में यह टिप्पणी में समझाया गया है। मैं कताई का उपयोग करने का सुझाव देता हूं।

import matplotlib.pyplot as plt 

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

# you can change each line separately, like: 
#ax.spines['right'].set_linewidth(0.5) 
# to change all, just write: 

for axis in ['top','bottom','left','right']: 
    ax.spines[axis].set_linewidth(0.5) 

plt.show() 
# see more about spines at: 
#http://matplotlib.org/api/spines_api.html 
#http://matplotlib.org/examples/pylab_examples/multiple_yaxis_with_spines.html 
+1

यह सही जवाब है! –

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