কম্পিউটার টিউটোরিয়াল

Matplotlib-এ হ্যাচ ডেনসিটি (hatch density) কমানো

বার চার্টে হ্যাচ প্যাটার্ন (যেমন //, \\, o) এর ঘনত্ব বা ডেনসিটি কাস্টমাইজ করতে হলে hatch.HorizontalHatch ক্লাসকে সাবক্লাস করে num_lines ওভাররাইড করতে হয়।

ধাপসমূহ
  1. ফিগার সাইজ এবং লেআউট সেট করুন।
  2. একটি কাস্টম হ্যাচ ক্লাস তৈরি করুন যা hatch.HorizontalHatch ইনহেরিট করে।
  3. __init__-এ density প্যারামিটার ব্যবহার করে num_lines ক্যালকুলেট করুন।
  4. ক্লাসটি hatch._hatch_types.append() দিয়ে রেজিস্টার করুন।
  5. বার প্লটে hatch="o" ব্যবহার করুন।
  6. plt.show()।
উদাহরণ কোড
from matplotlib import pyplot as plt, hatch

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

class MyHorizontalHatch(hatch.HorizontalHatch):
    def __init__(self, hatch, density):
        char_count = hatch.count('o')
        if char_count > 0:
            self.num_lines = int((1.0 / char_count) * density)
        else:
            self.num_lines = 0
        self.num_vertices = self.num_lines * 2
        super().__init__(hatch, density)

hatch._hatch_types.append(MyHorizontalHatch)

fig = plt.figure()
ax1 = fig.add_subplot(111)
x = [3, 6, 1]
y = [4, 6, 1]
ax1.bar(x, y, color='green', edgecolor='red', hatch="o", lw=1., zorder=0)
plt.show()
আউটপুট

হরেক বারে 'o' হ্যাচ প্যাটার্ন থাকবে কিন্তু ডেনসিটি কম থাকবে (অনেক খালি স্থান থাকবে)। density মান বাড়ালে হ্যাচ ঘন হবে।

  1. Seaborn-এ x-ticks ঘনত্ব কমানোর পদ্ধতি

  2. Matplotlib-এ হ্যাচের লাইন প্রস্থ পরিবর্তনের পদ্ধতি

  3. Matplotlib-এ সাবপ্লটে টিক লেবেলের ঘনত্ব কমানোর পদ্ধতি

  4. Python Matplotlib-এ ডেন্সিটি ম্যাপ প্লট করার পদ্ধতি