Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python - Vẽ biểu đồ trong trang tính Excel với Data Tools sử dụng XlsxWriter


XlsxWriter là một thư viện Python cho phép thực hiện nhiều thao tác trên file Excel như tạo, ghi, phép toán và vẽ đồ thị.

Ví dụ

# import module xlsxwriter
import xlsxwriter
# Workbook() nhận một đối số bắt buộc là tên file
# mà chúng ta muốn tạo.
workbook = xlsxwriter.Workbook('updown_chart.xlsx')
# Đối tượng workbook sau đó được dùng để thêm worksheet mới
# thông qua phương thức add_worksheet().
worksheet = workbook.add_worksheet()
# Tạo đối tượng Format mới để định dạng ô trong worksheet
# sử dụng phương thức add_format().
# ở đây chúng ta tạo đối tượng format in nghiêng.
italic = workbook.add_format({'italic': 1})
# Thêm dữ liệu worksheet mà biểu đồ sẽ tham chiếu.
Data1 = ['Subject', 'Mid Exam Score', 'End Exam Score']
Data2 = [
    ["Math", "Physics", "Computer", "Hindi", "English", "chemistry"],
    [90, 78, 60, 80, 60, 90],
    [45, 39, 30, 40, 30, 60]
]
# Ghi một hàng dữ liệu bắt đầu từ 'A1' với định dạng in đậm.
worksheet.write_row('A1', Data1, italic)
# Ghi cột dữ liệu bắt đầu từ 'A2', 'B2', 'C2' tương ứng
worksheet.write_column('A2', Data2[0])
worksheet.write_column('B2', Data2[1])
worksheet.write_column('C2', Data2[2])
# đặt độ rộng cột B và C
worksheet.set_column('B:C', 15)
# Tạo đối tượng biểu đồ có thể thêm vào worksheet
# sử dụng phương thức add_chart().
# ở đây chúng ta tạo đối tượng biểu đồ đường.
chart1 = workbook.add_chart({'type': 'line'})
# Thêm Up-Down Bars.
chart1.set_up_down_bars()
# Thêm series dữ liệu vào biểu đồ sử dụng add_series.
# Cấu hình series đầu tiên. = Sheet1!$A$1 tương đương với
# ['Sheet1', 0, 0].
# lưu ý: không chèn khoảng trắng giữa
# = và Sheet1, Sheet1 và !
# nếu chèn khoảng trắng sẽ báo cảnh báo.
chart1.add_series({
    'categories': '=Sheet1!$A$2:$A$7',
    'values': '=Sheet1!$B$2:$B$7',
})
# Cấu hình series thứ hai.
chart1.add_series({
    'categories': '=Sheet1!$A$2:$A$7',
    'values': '=Sheet1!$C$2:$C$7',
})
# Thêm tiêu đề biểu đồ.
chart1.set_title({'name': 'Exam Score Distribution'})
# Thêm nhãn trục x
chart1.set_x_axis({'name': 'Subjects'})
# Thêm nhãn trục y
chart1.set_y_axis({'name': 'Marks'})
# Đặt style biểu đồ Excel.
chart1.set_style(11)
# thêm biểu đồ vào worksheet với offset cho trước
# góc trên bên trái của biểu đồ neo vào ô D2
worksheet.insert_chart('D2', chart1, {'x_offset': 20, 'y_offset': 5})
# Cuối cùng, đóng file Excel qua phương thức close().
workbook.close()