Matplotlib-এ একই X-পজিশনে একাধিক এররবার প্লট করলে ওভারল্যাপ হয়। Affine2D ট্রান্সফরমেশন ব্যবহার করে সেগুলো হরিজন্টালি শিফট করুন।
ধাপসমূহ
- ফিগার সাইজ ও প্যাডিং সেট করুন
- নেম লিস্ট, y1, y2, ye1, ye2 ডেটা তৈরি করুন
- ফিগার ও সাবপ্লট তৈরি করুন
Affine2D().translate()দিয়ে দুটি ট্রান্সফরমেশন বানান (বাম ও ডান শিফট)errorbar()দিয়ে দুটি সিরিজ প্লট করুন আলাদা ট্রান্সফরমেশনসহshow()দিয়ে দেখান
উদাহরণ কোড
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.transforms import Affine2D
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
x = ['Jack', 'James', 'Tom', 'Garry']
y1, y2 = np.random.randn(2, len(x))
ye1, ye2 = np.random.rand(2, len(x))*4 + 0.3
fig, ax = plt.subplots()
trans1 = Affine2D().translate(-0.1, 0.0) + ax.transData
trans2 = Affine2D().translate(0.1, 0.0) + ax.transData
er1 = ax.errorbar(x, y1, yerr=ye1, marker="*", linestyle="none", transform=trans1)
er2 = ax.errorbar(x, y2, yerr=ye2, marker="o", linestyle="none", transform=trans2)
plt.show()
আউটপুট
প্রতিটি ক্যাটাগরির (Jack, James, Tom, Garry) দুটি এররবার পাশাপাশি দেখাবে: বামে স্টার মার্কার, ডানে সার্কুলার মার্কার, ওভারল্যাপ ছাড়া।