Axes對象是具有數(shù)據(jù)空間的圖像區(qū)域。給定的圖形可以包含許多軸,但給定的Axes對象只能在一個圖中。軸包含兩個(或在3D情況下為三個)Axis對象。Axes類及其成員函數(shù)是使用OO接口的主要入口點。
通過調用add_axes()方法將Axes對象添加到圖中。它返回軸對象并在位置rect [left,bottom,width,height]添加一個軸,其中所有數(shù)量都是圖形寬度和高度的分數(shù)。
以下是Axes類的參數(shù) -
rect - 4個長度序列的[左,底,寬,高]數(shù)量。 # Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
ax=fig.add_axes([0,0,1,1])
軸類的以下成員函數(shù)為圖添加了不同的元素 -
axes類的legend()方法為繪圖圖形添加了一個圖例。它需要三個參數(shù) -
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.soo66.com # Date : 2020-08-08 ax.legend(handles, labels, loc)
其中l(wèi)abel是一系列字符串,處理一系列Line2D或Patch實例。loc可以是指定圖例位置的字符串或整數(shù)。
位置字符串 | 位置代碼 |
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 |
這是軸類的基本方法,它將一個數(shù)組的值與另一個數(shù)組的值繪制為線或標記。plot()方法可以有一個可選的格式字符串參數(shù)來指定行和標記的顏色,樣式和大小。
字符標記 | 顏色 |
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 | 六角標記 |
以下示例以線圖的形式顯示電視和智能手機的廣告費用和銷售數(shù)字。代表電視的線是帶有黃色和方形標記的實線,而智能手機線是帶有綠色和圓形標記的虛線。
參考實現(xiàn)代碼 -
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.soo66.com # Date : 2020-08-08 #! /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 # 步驟二(解決坐標軸負數(shù)的負號顯示問題) 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()
執(zhí)行上面示例代碼,得到以下結果 -