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

পাইথন - openpyxl দিয়ে এক্সেলে বাবল চার্ট প্লট করা

openpyxl একটি পপুলার লাইব্রেরি এক্সেল ফাইল পড়া, লিখা এবং চার্ট তৈরির জন্য। এটি XlsxWriter-এর চেয়ে বেশি ফিচার সাপোর্ট করে (যেমন: বিদ্যমান ফাইল মডিফাই, ফর্মুলা ক্যালকুলেশন)। নিচে বাবল চার্ট (Bubble Chart) তৈরির উদাহরণ দেওয়া হলো।

প্রয়োজনীয় লাইব্রেরি

pip install openpyxl

সম্পূর্ণ উদাহরণ: বাবল চার্ট

import openpyxl
from openpyxl.chart import BubbleChart, Reference, Series

# ১. ওয়ার্কবুক এবং শিট
wb = openpyxl.Workbook()
sheet = wb.active

# ২. ডেটা লিখুন (৩ কলাম: X, Y, Size)
rows = [
    ("Number of Products", "Sales in USD", "Market share"),
    (14, 12200, 15),
    (20, 60000, 33),
    (18, 24400, 10),
    (22, 32000, 42),
]

for row in rows:
    sheet.append(row)

# ৩. বাবল চার্ট অবজেক্ট
chart = BubbleChart()

# ৪. ডেটা রেফারেন্স ডিফাইন করুন
xvalues = Reference(sheet, min_col=1, min_row=2, max_row=5)
yvalues = Reference(sheet, min_col=2, min_row=2, max_row=5)
size    = Reference(sheet, min_col=3, min_row=2, max_row=5)

# ৫. সিরিজ তৈরি করুন
series = Series(values=yvalues, xvalues=xvalues, zvalues=size, title="2013")
chart.series.append(series)

# ৬. চার্ট ফরম্যাটিং
chart.title = "BUBBLE CHART"
chart.x_axis.title = "X_AXIS (Number of Products)"
chart.y_axis.title = "Y_AXIS (Sales in USD)"

# ৭. চার্ট ইনসার্ট
sheet.add_chart(chart, "E2")

# ৮. সেভ
wb.save("bubbleChart.xlsx")
print("বাবল চার্ট তৈরি হয়েছে: bubbleChart.xlsx")

বাবল চার্ট কী?

বাবল চার্ট তিনটি মাত্রা (X, Y, Size) দেখায়। এটি স্ক্যাটার প্লটের এক্সটেনশন যেখানে থার্ড ভেরিয়েবল বাবলের আকারে এনকোড করা হয়।

openpyxl vs XlsxWriter

ফিচারopenpyxlXlsxWriter
বিদ্যমান ফাইল পড়া/মডিফাই✅ হ্যাঁ❌ না (শুধু লিখতে পারে)
ফর্মুলা ক্যালকুলেশন✅ (data_only=True)❌
চার্ট টাইপ সমর্থনবেশিরভাগ (Bubble, Radar, 3D)প্রায় সব (Stock, Surface ইত্যাদি)
পারফরম্যান্স (বড় ফাইল)মাঝারিদ্রুত (স্ট্রিমিং রাইট)
স্টাইল/থিমসীমিত৪৮টি বিল্ট-ইন স্টাইল

বাবল চার্ট কাস্টমাইজেশন

# বাবল সাইজ স্কেলিং
chart.bubble_scale = 100  # ডিফল্ট 100, ০-৩০০

# বাবল ৩D ইফেক্ট
chart.style = 15

# লেজেন্ড পজিশন
chart.legend.position = 'r'  # 'l', 'r', 't', 'b'

# মาร์কার স্টাইল
series.graphicalProperties.line.solidFill = "0000FF"
series.graphicalProperties.line.width = 20000  # EMU units

সেরা অনুশীলন

  • নতুন ফাইল তৈরি করলে: XlsxWriter (দ্রুত, বেশি চার্ট ফিচার)।
  • বিদ্যমান ফাইল মডিফাই করলে: openpyxl (একমাত্র অপশন)।
  • বাবল চার্টে বাবল সাইজ নরমালাইজ করুন (০-১০০ রেঞ্জে) ভালো ভিজ্যুয়ালাইজেশনের জন্য।
  1. পাইথনে xlsxwriter মডিউল ব্যবহার করে এক্সেল ফাইল তৈরি ও লেখা

  2. পাইথনে openpyxl ব্যবহার করে এক্সেল ফাইলে গাণিতিক অপারেশন

  3. পাইথন XlsxWriter মডিউল দিয়ে এক্সেল শিটে চার্টশিট যোগ করা

  4. পাইথনে openpyxl ব্যবহার করে এক্সেল ফাইল পড়া ও লিখা