Python教學-matplotlib: 添加標題、軸標籤說明客製化柱體距離與空間

當我們畫了一個圖表之後,可能需要額外的標題以及軸標籤來進一步說明圖想要表達的議題,這時候我們可以為圖添加標題以及軸標籤說明,程式碼如下:

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Taipei Sans TC Beta']

sales = [100,80,50]
x_labels = ['A','B','C']

plt.title('我的標題')
plt.xlabel('銷售品項')
plt.ylabel('銷售量')
plt.bar(x_labels,sales)
plt.show()

這邊分別使用plt.title添加標題、plt.xlabel添加X軸的標籤說明、plt.ylabel來添加y軸標籤說明

再來,有時候可能我們覺得A以及B是較為類似的商品,因此在X軸的位置上想要將兩者調近,這時候我們要怎麼客製化我們標籤在X軸的位置?

事實上,我們可以在使用plt.bar時省略了一個步驟,plt.bar的第一個變量其實是填這個標籤在X軸的位置,如果我們審略掉給定X軸位置的動作的話,就會變成平均分配在X軸上面,程式碼如下:

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Taipei Sans TC Beta']

sales = [100,80,50]
x_labels = ['A','B','C']
sales_pos = [0,1,5]
plt.title('我的標題')
plt.xlabel('銷售品項')
plt.ylabel('銷售量')
plt.bar(sales_pos,sales)
plt.xticks(sales_pos,x_labels)
plt.show()

可以看到我們設定了每個銷售量所對應的X軸位置(0,1,5),這時候matplotlib就會知道要把銷售量畫在X軸的那個位置上面,但是此時Matplotlib不知道每個位置所對應的品項是那些,所以必須在使用plt.xticks將每個位置對應到A,B,C三個品項。

最後來分享我們也可以控制每個柱體的寬度,其程式碼如下:

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['Taipei Sans TC Beta']

sales = [100,80,50]
x_labels = ['A','B','C']
sales_pos = [0,1,5]
widths = [0.1,0.2,3]
plt.title('我的標題')
plt.xlabel('銷售品項')
plt.ylabel('銷售量')
plt.bar(sales_pos,sales,width=widths)
plt.xticks(sales_pos,x_labels)
plt.show()

可以看到我們加入了widths參數分別讓第一個柱體有0.1的寬度,第二個柱體有0.2的寬度,第三個柱體有3的寬度,最後在plt.bar的width參數加入即可。

Share

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *