Python操作Excel的Xlwings教程(七)

十先生(公眾號:Python知識學堂)發表於2020-10-28

在上篇推文《Python操作Excel的Xlwings教程(六)》重點介紹了字型和單元格一些設定的知識點。大家在使用XlwingsExcel進行操作的時候,可以參考其中的一些案例。

這期推文我們來簡單看一下Chart的一些設定,在Xlwings中的Chart是一個物件。

微軟官方開發文件

https://docs.microsoft.com/zh-cn/office/vba/api/excel.chart(object)

有相應的說明。

一、資料準備

假設我們在1.xlsx的Sheet1頁中有以下的資料:

有三列資料,依次是日期,A銷量和B銷量。

二、製作表格

我們使用上表的資料來製作表格,程式碼如下:

sheet = xw.Book('1.xlsx').sheets[0]
chart = sheet.charts.add()
#資料來源:sheet.range('A1:C7'),或者sheet.range('A1').expand()
chart.set_source_data(sheet.range('A1').expand())
chart.chart_type = 'line'                    #線形
title='商品銷量'                             #標題名稱
chart.api[1].SetElement(2)                   #顯示標題
chart.api[1].ChartTitle.Text =title          #設定標題名稱
chart.api[1].SetElement(302)                 #在軸下方顯示主要類別軸標題。
chart.api[1].Axes(1).AxisTitle.Text = "日期" #橫軸標題名稱
chart.api[1].SetElement(311)                 #在軸旁邊顯示主要類別的軸標題。
chart.api[1].Axes(2).AxisTitle.Text = "銷量" #縱軸標題名稱

執行以後我們得到以下的圖表:

三、圖示設定

有小夥伴私信想將上述的右邊的圖表說明轉到圖表的下面,也就是這樣:

這個怎麼操作呢?在Xlwings官網中我們沒有做找到相應的說明,那麼我們就要藉助api的方法和VBA來進行相應的操作了,但是我們不知道在VBA中對應的方法和屬性是什麼?

 

不過沒有關係,我們可以使用錄製巨集來觀察。具體如下:

Step_1: 點選Excel的“開發工具”,點選“錄製巨集”,點選“確定”。

Step_2: 選中圖例說明:

Step_3:右鍵,點選“圖例格式”

Step_4:右邊我們看到了設定圖例格式,我們選中“靠下”:

之後,我們看到表格已經發生變化:

 

Step_5:檢視VBA程式碼:

通過上述VBA程式碼我們就可以看到相應的函式,我們來解釋一下程式碼:

第一行程式碼的意思是選中這個表格的Legend;

第二行程式碼時將這個選中的Legend的Position設定為xlBottom。

 

那麼在Xlwings中我們的xlBottom的值為多少呢?

請看這個VBA官網的說明,連結如下:

https://docs.microsoft.com/zh-cn/office/vba/api/excel.xllegendposition

至此,我們就可以使用程式碼進行設定了:

chart.api[1].Legend.Position = -4107

即只需要在上述的程式碼的最後加上這一行程式碼就可以完成設定,當然了,使用其他的Value值就可以完成不同的設定。

四、總結

以上就是Xlwings中設定Chart屬性的一些方法,是不是很簡單?縱觀全文,乾貨還是滿滿的。


最後有一句重要的話,大家要學會看檢視一些文件啊,一定要學會呀!

相關文章