আমি অক্ষের রঙ পরিবর্তন করতে চাই, পাশাপাশি টিক্স এবং মান-লেবেলগুলি একটি প্লটটির জন্য ম্যাটপ্ল্লোলিব একটি পাইকিউটি ব্যবহার করেছিলাম।
কোন ধারনা?
আমি অক্ষের রঙ পরিবর্তন করতে চাই, পাশাপাশি টিক্স এবং মান-লেবেলগুলি একটি প্লটটির জন্য ম্যাটপ্ল্লোলিব একটি পাইকিউটি ব্যবহার করেছিলাম।
কোন ধারনা?
উত্তর:
দ্রুত উদাহরণ হিসাবে (সম্ভাব্য সদৃশ প্রশ্নের তুলনায় কিছুটা পরিষ্কার পদ্ধতি ব্যবহার করে):
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()]
।
আপনি যদি সংশোধন করতে চান এমন বেশ কয়েকটি চিত্র বা সাবপ্লট থাকে তবে ম্যাটপ্ল্লোলিব কনটেক্সট ম্যানেজারটি পৃথকভাবে পৃথকভাবে পরিবর্তনের পরিবর্তে রঙ পরিবর্তন করতে সহায়ক হতে পারে । কনটেক্সট ম্যানেজার আপনাকে কেবল তাত্ক্ষণিকভাবে নিম্নলিখিত ইনডেন্ট কোডের জন্য আরসি প্যারামিটারগুলি অস্থায়ীভাবে পরিবর্তনের অনুমতি দেয়, তবে বৈশ্বিক আরসি প্যারামিটারগুলিকে প্রভাবিত করে না।
এই স্নিপেট দুটি অঙ্ক করে, প্রথমটি অক্ষ, টিক এবং টিক্লেবেলের পরিবর্তিত রঙ এবং দ্বিতীয়টি ডিফল্ট আরসি পরামিতি সহ।
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()