Matplotlib Axes類


Axes物件是具有資料空間的影象區域。給定的圖形可以包含許多軸,但給定的Axes物件只能在一個圖中。軸包含兩個(或在3D情況下為三個)Axis物件。Axes類及其成員函式是使用OO介面的主要入口點。

通過呼叫add_axes()方法將Axes物件新增到圖中。它返回軸物件並在位置rect [left,bottom,width,height]新增一個軸,其中所有數量都是圖形寬度和高度的分數。

引數

以下是Axes類的引數 -

  • rect - 4個長度序列的[左,底,寬,高]數量。
    ax=fig.add_axes([0,0,1,1])
    
    軸類的以下成員函式為圖新增了不同的元素 -

圖例

axes類的legend()方法為繪圖圖形新增了一個圖例。它需要三個引數 -

ax.legend(handles, labels, loc)

其中label是一系列字串,處理一系列Line2DPatch範例。loc可以是指定圖例位置的字串或整數。

位置字串 位置程式碼
best 0
upper right 1
upper left 2
lower left 3
lower right 4
right 5
center left 6
center right 7
lower center 8
upper center 9
center 10

axes.plot()

這是軸類的基本方法,它將一個陣列的值與另一個陣列的值繪製為線或標記。plot()方法可以有一個可選的格式字串引數來指定行和標記的顏色,樣式和大小。

顏色程式碼

字元標記 顏色
b Blue
g Green
r Red
b Blue
c Cyan
m Magenta
y Yellow
k Black
w White

標記程式碼

字元標記 描述
. 點標記
o 圓形標記
x X標記
D 鑽石標記
H 六角標記
s 方形標記
+ 加號標記

線條樣式

字元 描述
- 實線
-- 虛線
-. 單點劃線
: 虛線
H 六角標記

以下範例以線圖的形式顯示電視和智慧手機的廣告費用和銷售數位。代表電視的線是帶有黃色和方形標記的實線,而智慧手機線是帶有綠色和圓形標記的虛線。

參考實現程式碼 -

#! /usr/bin/env python
#coding=utf-8

import matplotlib.pyplot as plt

# 顯示中文設定...
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字型)
plt.rcParams['axes.unicode_minus'] = False   # 步驟二(解決坐標軸負數的負號顯示問題)原文出自【易百教學】,商業轉載請聯絡作者獲得授權,非商業請保留原文連結:https://www.tw511.com/article/detail/32208



y = [1, 4, 9, 16, 25,36,49, 64]
x1 = [1, 16, 30, 42,55, 68, 77,88]
x2 = [1,6,12,18,28, 40, 52, 65]
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
l1 = ax.plot(x1,y,'ys-') # solid line with yellow colour and square marker
l2 = ax.plot(x2,y,'go--') # dash line with green colour and circle marker
ax.legend(labels = ('電視', '智慧手機'), loc = 'upper left') # legend placed at lower right
ax.set_title("廣告對銷售的影響")
ax.set_xlabel('媒介')
ax.set_ylabel('銷售')
plt.show()

執行上面範例程式碼,得到以下結果 -