मैं धुरी का रंग बदलना चाहता हूं, साथ ही एक प्लॉट के लिए टिक्स और मूल्य-लेबल जो मैंने matplotlib का उपयोग करके किया है PyQt।
कोई विचार?
मैं धुरी का रंग बदलना चाहता हूं, साथ ही एक प्लॉट के लिए टिक्स और मूल्य-लेबल जो मैंने matplotlib का उपयोग करके किया है PyQt।
कोई विचार?
जवाबों:
एक त्वरित उदाहरण के रूप में (संभावित डुप्लिकेट प्रश्न की तुलना में थोड़ा क्लीनर विधि का उपयोग करके):
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()
[t.set_color('red') for t in ax.xaxis.get_ticklines()]
और [t.set_color('red') for t in ax.xaxis.get_ticklabels()]
।
यदि आपके पास कई आंकड़े या सबप्लॉट हैं जिन्हें आप संशोधित करना चाहते हैं, तो रंग बदलने के लिए matplotlib संदर्भ प्रबंधक का उपयोग करना उपयोगी हो सकता है , बजाय हर एक को व्यक्तिगत रूप से बदलने के। संदर्भ प्रबंधक आपको केवल तुरंत इंडेंट कोड का पालन करने के लिए आरसी मापदंडों को अस्थायी रूप से बदलने की अनुमति देता है, लेकिन वैश्विक आरसी मापदंडों को प्रभावित नहीं करता है।
यह स्निपेट दो आंकड़े देता है, पहला अक्ष के लिए संशोधित रंगों के साथ, टिक और टिकलैबल्स के लिए और दूसरा डिफ़ॉल्ट आरसी मापदंडों के साथ।
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))
आप plt.rcParams
सभी उपलब्ध आरसी मापदंडों को देखने के लिए टाइप कर सकते हैं , और कीवर्ड के लिए खोज करने के लिए सूची समझ का उपयोग कर सकते हैं :
# Search for all parameters containing the word 'color'
[(param, value) for param, value in plt.rcParams.items() if 'color' in param]
पिछले योगदानकर्ताओं द्वारा प्रेरित, यह तीन अक्षों का एक उदाहरण है।
import matplotlib.pyplot as plt
x_values1=[1,2,3,4,5]
y_values1=[1,2,2,4,1]
x_values2=[-1000,-800,-600,-400,-200]
y_values2=[10,20,39,40,50]
x_values3=[150,200,250,300,350]
y_values3=[-10,-20,-30,-40,-50]
fig=plt.figure()
ax=fig.add_subplot(111, label="1")
ax2=fig.add_subplot(111, label="2", frame_on=False)
ax3=fig.add_subplot(111, label="3", frame_on=False)
ax.plot(x_values1, y_values1, color="C0")
ax.set_xlabel("x label 1", color="C0")
ax.set_ylabel("y label 1", color="C0")
ax.tick_params(axis='x', colors="C0")
ax.tick_params(axis='y', colors="C0")
ax2.scatter(x_values2, y_values2, color="C1")
ax2.set_xlabel('x label 2', color="C1")
ax2.xaxis.set_label_position('bottom') # set the position of the second x-axis to bottom
ax2.spines['bottom'].set_position(('outward', 36))
ax2.tick_params(axis='x', colors="C1")
ax2.set_ylabel('y label 2', color="C1")
ax2.yaxis.tick_right()
ax2.yaxis.set_label_position('right')
ax2.tick_params(axis='y', colors="C1")
ax3.plot(x_values3, y_values3, color="C2")
ax3.set_xlabel('x label 3', color='C2')
ax3.xaxis.set_label_position('bottom')
ax3.spines['bottom'].set_position(('outward', 72))
ax3.tick_params(axis='x', colors='C2')
ax3.set_ylabel('y label 3', color='C2')
ax3.yaxis.tick_right()
ax3.yaxis.set_label_position('right')
ax3.spines['right'].set_position(('outward', 36))
ax3.tick_params(axis='y', colors='C2')
plt.show()