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

পাইথন - XlsxWriter দিয়ে এক্সেলে ডোনাট চার্ট প্লট করা

ডোনাট চার্ট (Doughnut Chart) পাই চার্টের একটি ভেরিয়েন্ট যেখানে কেন্দ্রে একটি গোলাকার ছিদ্র থাকে। এই ফাঁকাটি অতিরিক্ত তথ্য (যেমন: টোটাল ভ্যালু) দেখানোর জন্য ব্যবহার করা যায়। একাধিক ডেটা সিরিজ থাকলে কনসেন্ট্রিক রিং হিসেবে দেখায়।

সম্পূর্ণ উদাহরণ

import xlsxwriter

workbook = xlsxwriter.Workbook('chart_doughnut.xlsx')
worksheet = workbook.add_worksheet()

bold = workbook.add_format({'bold': True})

headings = ['Category', 'Values']
data = [
    ['Glazed', 'Chocolate', 'Cream'],
    [50, 35, 15]
]

worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])

# ডোনাট চার্ট অবজেক্ট
chart1 = workbook.add_chart({'type': 'doughnut'})

chart1.add_series({
    'name':       'Doughnut sales data',
    'categories': ['Sheet1', 1, 0, 3, 0],  # A2:A4
    'values':     ['Sheet1', 1, 1, 3, 1],  # B2:B4
})

chart1.set_title({'name': 'Popular Doughnut Types'})
chart1.set_style(10)

worksheet.insert_chart('C2', chart1, {'x_offset': 25, 'y_offset': 10})
workbook.close()
print("ডোনাট চার্ট তৈরি হয়েছে: chart_doughnut.xlsx")

ডোনাট চার্ট সাব-টাইপস

সাব-টাইপবিবরণপ্যারামিটার
Doughnutস্ট্যান্ডার্ড (ডিফল্ট){'type': 'doughnut'}
Exploded Doughnutস্লাইস আলাদা করা থাকে{'type': 'doughnut', 'subtype': 'exploded'}

মাল্টিপল সিরিজ: কনসেন্ট্রিক রিংস

# ২০২০ এবং ২০২১ সালের ডেটা
data = [
    ['Category', '2020', '2021'],
    ['A', 30, 40],
    ['B', 25, 30],
    ['C', 45, 30]
]
# ... ডেটা লিখুন ...

chart1 = workbook.add_chart({'type': 'doughnut'})
chart1.add_series({
    'name': '=Sheet1!$B$1',      # 2020
    'categories': '=Sheet1!$A$2:$A$4',
    'values': '=Sheet1!$B$2:$B$4',
})
chart1.add_series({
    'name': '=Sheet1!$C$1',      # 2021
    'categories': '=Sheet1!$A$2:$A$4',
    'values': '=Sheet1!$C$2:$C$4',
})
# বাইরের রিং = 2021, ভেতরের রিং = 2020

কেন্দ্রে টেক্সট যোগ করা (এক্সেল ফিচার)

এক্সেলে ডোনাট চার্টের কেন্দ্রে টেক্সট বক্স ম্যানুয়ালি যোগ করা যায়, কিন্তু XlsxWriter-এ সরাসরি সাপোর্ট নেই। ওয়ার্কঅ্যারাউন্ড:

# একটি টেক্সটবক্স ইনসার্ট করুন চার্টের উপরে
textbox = workbook.add_format({'align': 'center', 'valign': 'vcenter', 'font_size': 14, 'bold': True})
worksheet.insert_textbox('C5', 'Total: 100', textbox)  # পজিশন ম্যানুয়ালি অ্যাডজাস্ট করুন

পাই vs ডোনাট: কখন কী ব্যবহার করবেন

ফিচারপাই চার্টডোনাট চার্ট
সিরিজ সংখ্যা১ টিএকাধিক (রিংস)
কেন্দ্রে স্পেসনেইহ্যাঁ (টোটাল/লেবেলের জন্য)
পঠনযোগ্যতাসাধারণবেশি (রিং-wise তুলনা)
সুপারিশসিঙ্গল সিরিজমাল্টি সিরিজ / টোটাল দেখাতে চাইলে
  1. পাইথনে openpyxl ব্যবহার করে এক্সেলে চার্ট তৈরি করা

  2. পাইথনে xlsxwriter মডিউল ব্যবহার করে এক্সেল ফাইল তৈরি ও লেখা

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

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