ক্ষেত্রে আপনার বিভিন্ন নমুনা আকার আছে, একটি একক y- অক্ষের সাথে বিতরণ তুলনা করা কঠিন হতে পারে। উদাহরণ স্বরূপ:
import numpy as np
import matplotlib.pyplot as plt
#makes the data
y1 = np.random.normal(-2, 2, 1000)
y2 = np.random.normal(2, 2, 5000)
colors = ['b','g']
#plots the histogram
fig, ax1 = plt.subplots()
ax1.hist([y1,y2],color=colors)
ax1.set_xlim(-10,10)
ax1.set_ylabel("Count")
plt.tight_layout()
plt.show()
এই ক্ষেত্রে, আপনি দুটি অক্ষের উপর আপনার দুটি ডেটা সেট প্লট করতে পারেন। এটি করার জন্য, আপনি ম্যাটপ্ল্লোলিব ব্যবহার করে আপনার হিস্টোগ্রামের ডেটা পেতে পারেন, অক্ষটি সাফ করুন এবং তারপরে এটি দুটি পৃথক অক্ষের উপর পুনরায় প্লট করুন (বিন প্রান্তগুলি সরিয়ে ফেলুন যাতে তারা ওভারল্যাপ না করে):
#sets up the axis and gets histogram data
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.hist([y1, y2], color=colors)
n, bins, patches = ax1.hist([y1,y2])
ax1.cla() #clear the axis
#plots the histogram data
width = (bins[1] - bins[0]) * 0.4
bins_shifted = bins + width
ax1.bar(bins[:-1], n[0], width, align='edge', color=colors[0])
ax2.bar(bins_shifted[:-1], n[1], width, align='edge', color=colors[1])
#finishes the plot
ax1.set_ylabel("Count", color=colors[0])
ax2.set_ylabel("Count", color=colors[1])
ax1.tick_params('y', colors=colors[0])
ax2.tick_params('y', colors=colors[1])
plt.tight_layout()
plt.show()
pyplot.hold(True)
ঠিক কী ক্ষেত্রে প্লট করার আগে সেট করা ভাল ধারণা হবে না ?