ডোনাট চার্ট (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 তুলনা) |
| সুপারিশ | সিঙ্গল সিরিজ | মাল্টি সিরিজ / টোটাল দেখাতে চাইলে |