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

Python - Vẽ biểu đồ donut (doughnut) trong trang tính Excel sử dụng module XlsxWriter


Biểu đồ Donut (còn gọi là Doughnut chart) là một biến thể của biểu đồ tròn (Pie chart) ngoại trừ nó có một lỗ tròn ở giữa khiến nó trông giống như một donut, do đó có tên gọi đó. Không gian trống này có thể được sử dụng để hiển thị dữ liệu bổ sung.

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_doughnut1.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})
# Thêm dữ liệu worksheet mà biểu đồ sẽ tham chiếu.
headings = ['Category', 'Values']
data = [
    ['Glazed', 'Chocolate', 'Cream'],
    [50, 35, 15],
]
# 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ừ 'A2', 'B2' tương ứng.
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
# 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 đồ doughnut.
chart1 = workbook.add_chart({'type': 'doughnut'})
# 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, cú pháp để định nghĩa phạm vi
# [sheetname, first_row, first_col, last_row, last_col].
chart1.add_series({
    'name': 'Doughnut sales data',
    'categories': ['Sheet1', 1, 0, 3, 0],
    'values': ['Sheet1', 1, 1, 3, 1],
})
# Thêm tiêu đề biểu đồ
chart1.set_title({'name': 'Popular Doughnut Types'})
# Đặt style biểu đồ Excel. Màu sắc với viền trắng và bóng.
chart1.set_style(10)
# thêm biểu đồ vào worksheet với offset, góc trên bên trái
# của biểu đồ được neo vào ô C2.
worksheet.insert_chart('C2', chart1, {'x_offset': 25, 'y_offset': 10})
# Cuối cùng, đóng file Excel qua phương thức close().
workbook.close()