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

পাইথন - XlsxWriter দিয়ে এক্সেলে ডেটা টুলসসহ চার্ট প্লট করা (আপ-ডাউন বারস)

XlsxWriter-এ চার্টে ডেটা টুলস যোগ করা যায়—যেমন: আপ-ডাউন বারস (Up-Down Bars), হাই-লো লাইনস, ড্রপ লাইনস ইত্যাদি। এটি স্টক চার্ট বা তুলনামূলক অ্যানালাইসিসে খুব কার্যকর। নিচে আপ-ডাউন বারস সহ লাইন চার্টের উদাহরণ দেওয়া হলো।

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

import xlsxwriter

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

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

# ডেটা: সাবজেক্ট, মিড এক্সাম, এন্ড এক্সাম
Data1 = ['Subject', 'Mid Exam Score', 'End Exam Score']
Data2 = [
    ["Math", "Physics", "Computer", "Hindi", "English", "Chemistry"],
    [90, 78, 60, 80, 60, 90],      # Mid
    [45, 39, 30, 40, 30, 60]       # End
]

worksheet.write_row('A1', Data1, italic)
worksheet.write_column('A2', Data2[0])
worksheet.write_column('B2', Data2[1])
worksheet.write_column('C2', Data2[2])

worksheet.set_column('B:C', 15)

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

# আপ-ডাউন বারস চালু করুন (দুই সিরিজের পার্থক্য দেখাবে)
chart1.set_up_down_bars()

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

# দ্বিতীয় সিরিজ (End Exam)
chart1.add_series({
    'categories': '=Sheet1!$A$2:$A$7',
    'values':     '=Sheet1!$C$2:$C$7',
})

chart1.set_title({'name': 'Exam Score Distribution'})
chart1.set_x_axis({'name': 'Subjects'})
chart1.set_y_axis({'name': 'Marks'})
chart1.set_style(11)

worksheet.insert_chart('D2', chart1, {'x_offset': 20, 'y_offset': 5})
workbook.close()
print("আপ-ডাউন বারস চার্ট তৈরি হয়েছে: updown_chart.xlsx")

আপ-ডাউন বারস কী?

দুই লাইন সিরিজের মধ্যে প্রতিটি পয়েন্টে উর্ধ্বমুখী (আপ) এবং অধোমুখী (ডাউন) বার আঁকে, যা পার্থক্য (ডিফারেন্স) ভিজ্যুয়ালাইজ করে। হরেই বার = প্রথম সিরিজ > দ্বিতীয় সিরিজ, লাল/নিচের বার = دوم সিরিজ > প্রথম সিরিজ।

অন্যান্য ডেটা টুলস

মেথডবিবরণপ্রযোজ্য চার্ট
set_up_down_bars()দুই সিরিজের পার্থক্য বারLine, Stock
set_high_low_lines()হাই-লো লাইন (ভের্টিক্যাল)Line, Stock
set_drop_lines()পয়েন্ট থেকে X-অ্যাক্সিসে লাইনLine, Area
set_series_lines()স্ট্যাকড সিরিজের মধ্যে লাইনStacked Column/Bar

আপ-ডাউন বারস কাস্টমাইজেশন

# আপ বার (পজিটিভ ডিফারেন্স) ফরম্যাট
chart1.set_up_down_bars({
    'up': {
        'fill': {'color': '#00B050'},      # গ্রিন
        'border': {'color': '#006100'}
    },
    'down': {
        'fill': {'color': '#FF0000'},      # রেড
        'border': {'color': '#9C0006'}
    },
    'gap': 100  # বার চাঙা
})

ব্যবহারিক উদাহরণ: বাজেট vs আকচুয়াল

# বাজেট (সিরিজ ১) vs আকচুয়াল (সিরিজ ২)
# আপ-ডাউন বারস দেখাবে: কোথায় ওভার বাজেট (রেড), কোথায় আন্ডার বাজেট (গ্রিন)
chart1.set_up_down_bars()
chart1.set_title({'name': 'Budget vs Actual Variance'})
  1. পাইথনে openpyxl ব্যবহার করে এক্সেলে চার্ট তৈরি করা

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

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

  4. পাইথনে বিভিন্ন চার্ট দিয়ে ডেটা ভিজ্যুয়ালাইজেশন