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

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

বার চার্ট (Bar Chart) কলাম চার্টের হরিজন্টাল ভার্সন। এটি লম্ব ক্যাটেগরি নাম থাকলে বা র‍্যাঙ্কিং দেখাতে হলে অত্যন্ত কার্যকর। XlsxWriter দিয়ে বার চার্ট তৈরির উদাহরণ।

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

import xlsxwriter

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

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

headings = ['Number', 'Batch 1', 'Batch 2']
data = [
    [2, 3, 4, 5, 6, 7],
    [80, 80, 100, 60, 50, 100],
    [60, 50, 60, 20, 10, 20]
]

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

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

# প্রথম সিরিজ
chart1.add_series({
    'name':       '=Sheet1!$B$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values':     '=Sheet1!$B$2:$B$7',
})

# দ্বিতীয় সিরিজ
chart1.add_series({
    'name':       ['Sheet1', 0, 2],
    'categories': ['Sheet1', 1, 0, 6, 0],
    'values':     ['Sheet1', 1, 2, 6, 2],
})

chart1.set_title({'name': 'Results of Data Analysis'})
chart1.set_x_axis({'name': 'Test Number'})
chart1.set_y_axis({'name': 'Data Length (mm)'})
chart1.set_style(11)

worksheet.insert_chart('E2', chart1)
workbook.close()
print("বার চার্ট তৈরি হয়েছে: chart_bar.xlsx")

বার চার্ট সাব-টাইপস

সাব-টাইপবিবরণপ্যারামিটার
Clustered Barসাইড-বাই-সাইড (ডিফল্ট){'type': 'bar'}
Stacked Barস্ট্যাকড (যোগফল){'type': 'bar', 'subtype': 'stacked'}
100% Stacked Barশতকরা স্ট্যাকড{'type': 'bar', 'subtype': 'percent_stacked'}
3D Clustered Bar৩D ক্লাস্টারড{'type': 'bar', 'subtype': '3d'}
3D Stacked Bar৩D স্ট্যাকড{'type': 'bar', 'subtype': '3d_stacked'}
3D 100% Stacked৩D শতকরা স্ট্যাকড{'type': 'bar', 'subtype': '3d_percent_stacked'}

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

# বার ডাইরেকশন: 'bar' (হরিজন্টাল) ডিফল্ট
#-stacking অপশন
chart1 = workbook.add_chart({'type': 'bar', 'subtype': 'stacked'})

# গ্যাপ এবং ওভারল্যাপ
chart1.set_gap(100)      # বারগুলোর মাঝের গ্যাপ
chart1.set_overlap(-10)  # নেগেটিভ = গ্যাপ, পজিটিভ = ওভারল্যাপ

# ক্যাটেগরি অর্ডার উল্টান (টপ-ডাউন)
chart1.set_y_axis({'reverse': True})

# ডেটা লেবেল (ভারের শেষে ভ্যালু)
chart1.add_series({
    'values': '=Sheet1!$B$2:$B$7',
    'data_labels': {'value': True, 'position': 'outside_end'}
})

কলাম vs বার: কখন কী ব্যবহার করবেন

  • কলাম চার্ট: টাইম সিরিজ (দিন/মাস/বছর), ছোট ক্যাটেগরি নাম, ট্রেন্ড দেখাতে।
  • বার চার্ট: লম্ব ক্যাটেগরি নাম (যেমন: প্রোডাক্ট নাম, কান্ট্রি), র‍্যাঙ্কিং (টপ ১০), পার্ট-টু-হোল কম্পেরিজন।
  • স্ট্যাকড বার: সেগমেন্ট কম্পোজিশন (যেমন: মার্কেট শেয়ার বাই রিজন)।

প্রো টিপ: হরিজন্টাল বার এ ফরম্যাটিং

# Y-অ্যাক্সিস লেবেল র‍্যাপিং (লম্ব নামের জন্য)
chart1.set_y_axis({
    'name': 'Category Name',
    'label_position': 'low',  # 'next_to', 'high', 'none'
    'major_gridlines': {'visible': False}
})

# বার কালার গ্রেডিয়েন্ট
chart1.add_series({
    'values': '=Sheet1!$B$2:$B$7',
    'gradient': {'colors': ['#4472C4', '#1F3864']}  # ডার্ক টু লাইট
})
  1. পাইথনে openpyxl ব্যবহার করে এক্সেলে চার্ট তৈরি করা

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

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

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