Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - วาดกราฟหลายสไตล์ใน Excel ด้วย XlsxWriter

XlsxWriter เป็นไลบรารี Python สำหรับทำงานกับ Excel: สร้าง เขียน คำนวณ และวาดกราฟ

ตัวอย่างโค้ด: แสดง Built-in Styles ทั้ง 48 รูปแบบ


import xlsxwriter

workbook = xlsxwriter.Workbook('chart_styles.xlsx')

chart_types = ['column', 'area']

for chart_type in chart_types:
    # เพิ่ม worksheet สำหรับแต่ละ chart type
    worksheet = workbook.add_worksheet(chart_type.title())
    worksheet.set_zoom(30)
    
    style_number = 1
    
    # สร้าง 48 built-in styles (แต่ละชาร์ท 15x8)
    for row_num in range(0, 90, 15):
        for col_num in range(0, 64, 8):
            chart = workbook.add_chart({'type': chart_type})
            chart.add_series({'values': '=Data!$A$1:$A$6'})
            chart.set_title({'name': f'Style {style_number}'})
            chart.set_legend({'none': True})
            chart.set_style(style_number)
            worksheet.insert_chart(row_num, col_num, chart)
            style_number += 1

# Worksheet สำหรับข้อมูล (ซ่อนไว้)
data_worksheet = workbook.add_worksheet('Data')
data = [10, 40, 50, 20, 10, 50]
data_worksheet.write_column('A1', data)
data_worksheet.hide()

workbook.close()

Built-in Chart Styles (1-48)

Excel มี 48 built-in styles สำหรับแต่ละ chart type:

  • Styles 1-12: สีประกอบ พร้อมเอฟเฟกต์ต่างๆ
  • Styles 13-24: สีเดี่ยว ทonal variations
  • Styles 25-36: Monochromatic
  • Styles 37-48: Mixed/Other

การใช้งาน Custom Style แทน Built-in


# แทนที่จะใช้ set_style() ให้ปรับแต่งเอง
chart = workbook.add_chart({'type': 'column'})

chart.add_series({
    'values': '=Sheet1!$A$2:$A$7',
    'fill': {'color': '#4472C4'},
    'border': {'color': '#2F5496'},
    'gradient': {'colors': ['#4472C4', '#FFFFFF']},
})

chart.set_title({'name': 'Custom Styled Chart', 'name_font': {'size': 14, 'bold': True}})
chart.set_x_axis({'name': 'Category', 'major_gridlines': {'visible': False}})
chart.set_y_axis({'name': 'Value', 'major_gridlines': {'visible': True, 'line': {'color': '#D9E2F3'}}})
chart.set_legend({'position': 'bottom'})
chart.set_chartarea({'border': {'none': True}})
chart.set_plotarea({'border': {'none': True}})

Chart Types ที่รองรับ Styles

Styles ทำงานกับ chart types หลักๆ:

  • column, bar, line, pie, doughnut, area, scatter, radar, stock

สรุป

  • ใช้ set_style(n) โดย n = 1-48 สำหรับ built-in styles
  • สร้างไฟล์ทดสอบเพื่อดู styles ทั้งหมดก่อนเลือก
  • สำหรับ production ใช้ custom formatting เพื่อ brand consistency
  • ซ่อน data worksheet ด้วย hide() เพื่อความสะอาด