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

Python - Vẽ biểu đồ diện tích (area) trong trang tính Excel sử dụng module XlsxWriter


Biểu đồ diện tích biểu diễn sự thay đổi của một hoặc nhiều lượng theo thời gian. Nó được tạo bằng cách vẽ một loạt các điểm dữ liệu theo thời gian, nối các điểm dữ liệu đó bằng các đoạn thẳng, sau đó tô màu khu vực giữa đường và trục x bằng màu hoặc bóng.

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('chart_area.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 đậm.
bold = workbook.add_format({'bold': 1})
# tạo danh sách dữ liệu.
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],
]
# Ghi một hàng dữ liệu bắt đầu từ 'A1' với định dạng in đậm.
worksheet.write_row('A1', headings, bold)
# Ghi cột dữ liệu bắt đầu từ
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])
# 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 đồ diện tích.
chart1 = workbook.add_chart({'type': 'area'})
# Thêm series dữ liệu vào biểu đồ sử dụng phương thức add_series.
# Cấu hình series đầu tiên.
# = Sheet1!$A$1 tương đương với ['Sheet1', 0, 0].
chart1.add_series({
    'name': '=Sheet1!$B$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values': '=Sheet1!$B$2:$B$7',
})
# Cấu hình series thứ hai. Lưu ý sử dụng cú pháp thay thế để định nghĩa
# phạm vi. [sheetname, first_row, first_col, last_row, last_col].
chart1.add_series({
    'name': ['Sheet1', 0, 2],
    'categories': ['Sheet1', 1, 0, 6, 0],
    'values': ['Sheet1', 1, 2, 6, 2],
})
# Thêm tiêu đề biểu đồ
chart1.set_title({'name': 'Results of data analysis'})
# Thêm nhãn trục x
chart1.set_x_axis({'name': 'Test number'})
# Thêm nhãn trục y
chart1.set_y_axis({'name': 'Data length (mm)'})
# Đặt style biểu đồ Excel.
chart1.set_style(11)
# thêm biểu đồ vào worksheet, góc trên bên trái
# của biểu đồ được neo vào ô E2.
worksheet.insert_chart('E2', chart1)
# Cuối cùng, đóng file Excel qua phương thức close().
workbook.close()