Python XlsxWriter - 圖表格式設定



圖表的預設外觀可以自定義,使其更具吸引力、解釋性和使用者友好性。使用XlsxWriter,我們可以對圖表物件進行以下增強 -

  • 設定和格式化圖表標題

  • 設定 X 和 Y 軸標題和其他引數

  • 配置圖表圖例

  • 圖表佈局選項

  • 設定邊框和圖案

標題

您可以透過呼叫其set_title()方法來設定和配置圖表物件的標題。可以使用的各種引數如下 -

  • Name - 設定要在圖表上方顯示的圖表名稱(標題)。name 屬性是可選的。預設情況下不顯示圖表標題。

  • name_font - 設定圖表標題的字型屬性。

  • Overlay - 允許標題覆蓋在圖表上。

  • Layout - 設定標題在圖表中相對於單元格的位置(x,y)。

  • None - Excel 會新增一個自動圖表標題。none 選項會關閉此預設標題。它還會關閉所有其他set_title()選項。

X 和 Y 軸

set_x_axis()set_y_axis() 兩個方法用於設定軸標題,name_font 用於標題文字,num_font 用於顯示在 X 和 Y 軸上的數字。

  • name - 設定軸的標題或說明。

  • name_font - 設定軸標題的字型屬性。

  • num_font - 設定軸數字的字型屬性。

  • num_format - 設定軸的數字格式。

  • major_gridlines - 配置軸的主網格線。

  • display_units - 設定軸的顯示單位。

在前面的示例中,成績單資料以柱狀圖的形式顯示,我們設定了圖表格式選項,例如圖表標題以及 X 和 Y 軸標題及其其他顯示屬性,如下所示 -

chart1.set_x_axis(
   {'name': 'Students', 'name_font':{'name':'Arial', 'size':16, 'bold':True},})
chart1.set_y_axis(
   {
      'name': 'Marks', 'name_font':
      {'name':'Arial', 'size':16, 'bold':True}, 'num_font':{'name':'Arial', 'italic':True}
   }
)

示例

將以上程式碼片段新增到完整程式碼中。它現在看起來如下所示 -

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
chart1 = wb.add_chart({'type': 'column'})

# Add the worksheet data that the charts will refer to.
headings = ['Name', 'Phy', 'Maths']

data = [
   ["Jay", 30, 60],
   ["Mohan", 40, 50],
   ["Veeru", 60, 70],
]

worksheet.write_row(0,0, headings)
worksheet.write_row(1,0, data[0])
worksheet.write_row(2,0, data[1])
worksheet.write_row(3,0, data[2])

chart1.add_series({
   'name': '=Sheet1!$B$1',
   'categories': '=Sheet1!$A$2:$A$4',
   'values': '=Sheet1!$B$2:$B$4',
})

chart1.add_series({
   'name': ['Sheet1', 0, 2],
   'categories': ['Sheet1', 1, 0, 3, 0],
   'values': ['Sheet1', 1, 2, 3, 2],
})
chart1.set_title ({'name': 'Marklist',
   'name_font': {'name':'Times New Roman', 'size':24}
})
chart1.set_x_axis({'name': 'Students',
   'name_font': {'name':'Arial', 'size':16, 'bold':True},
})
chart1.set_y_axis({'name': 'Marks',
   'name_font':{'name':'Arial', 'size':16, 'bold':True},
   'num_font':{'name':'Arial', 'italic':True}
})
worksheet.insert_chart('B7', chart1)

wb.close()

輸出

圖表顯示了標題標題,如下所示 -

Title Axes
廣告

© . All rights reserved.