Matplotlib-এ boxplot() মেথড NaN মান হ্যান্ডেল করতে পারে না। NaN ফিল্টার আউট করে (~np.isnan(data)) বক্সপ্লট করার পদ্ধতি।
ধাপসমূহ
- ফিগার সাইজ ও প্যাডিং সেট করুন
- র্যান্ডম স্প্রেড, সেন্টার, ফ্লায়ার (high/low) জেনারেট করুন
- কনক্যাটেনেট করুন এবং একটা NaN ইনজেক্ট করুন
data[~np.isnan(data)]দিয়ে NaN ফিল্টার আউট করুনplt.boxplot()দিয়ে ফিল্টারড ডেটা প্লট করুনshow()দিয়ে দেখান
উদাহরণ কোড
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
N = 10
spread = np.random.rand(N)
center = np.ones(N)
fh = np.random.rand(N) + N
fl = np.random.rand(N) - N
data = np.concatenate((spread, center, fh, fl), 0)
data[5] = np.NaN # NaN ইনজেক্ট
filtered_data = data[~np.isnan(data)]
plt.boxplot(filtered_data)
plt.show()
আউটপুট
একটি বক্সপ্লট দেখাবে যেখানে NaN রিমুভ করা ডেটা ব্যবহার করা হয়েছে। মিডিয়ান, কোয়ার্টাইল, ওয়িস্কার, আউটলায়ার (ফ্লায়ার হাই/লো) স্পষ্ট থাকবে।