English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Classe Axes Matplotlib

Axes对象是具有数据空间的图像区域。给定的图形可以包含许多轴,但给定的Axes对象只能在一个图中。轴包含两个(或在3D情况下为三个)Axis对象。Axes类及其成员函数是使用OO接口的主要入口点。

通过调用add_axes()方法将Axes对象添加到图中。它返回轴对象并在位置rect [left,bottom,width,height]添加一个轴,其中所有数量都是图形宽度和高度的分数。

参数

以下是Axes类的参数 -

rect - 4个长度序列的[左,底,宽,高]数量。

 # Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
ax=fig.add_axes([0,0,1,1])
轴类的以下成员函数为图添加了不同的元素 -

图例

axes类的legend()方法为绘图图形添加了一个图例。它需要三个参数 -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.com
# Date : 2020-08-08
ax.legend(handles, labels, loc)

其中label是一系列字符串,处理一系列Line2D或Patch实例。loc可以是指定图例位置的字符串或整数。

位置字符串位置代码
best0
upper right1
upper left2
lower left3
lower right4
right5
center left6
center right7
lower center8
upper center9
center10

axes.plot()

Questo è un metodo fondamentale della classe asse, che disegna i valori di un array con i valori di un altro array come linee o marchi. Il metodo plot() può avere un parametro opzionale di stringa di formato per specificare il colore, lo stile e la dimensione delle linee e dei marchi.

Codice del colore

Marchio a carattereColore
bBlu
gVerde
rRosso
bBlu
cCiano
mMagenta
yGiallo
kNero
wBianco

Codice del marchio

Marchio a carattereDescrizione
.Marchio a punto
oMarchio circolare
xMarchio X
DMarchio a diamante
HMarchio a sei punte
sMarchio quadrato
+Marchio a plus

Stile della linea

CarattereDescrizione
-Linea continua
--Tratteggio
-.Tratteggio singolo
:Tratteggio
HMarchio a sei punte

Il seguente esempio visualizza le spese pubblicitarie e i numeri di vendita di televisioni e smartphone in forma di grafico a linee. La linea rappresentativa della televisione è una linea continua con un marchio giallo e quadrato, mentre la linea dello smartphone è una linea tratteggiata con un marchio verde e circolare.

Implementazione di riferimento -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : it.oldtoolbag.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 # 步骤二(解决坐标轴负数的负号显示问题)
 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-')  # linea solida con colore giallo e marker quadrato
 l2 = ax.plot(x2, y, 'go--')  # linea tratteggiata con colore verde e marker circolare
 ax.legend(labels = ('Televisione', 'Smartphone'), loc = 'upper left')  # posizionata in basso a destra
 ax.set_title("Influenza dell'annuncio sulle vendite")
 ax.set_xlabel('Media')
 ax.set_ylabel('Vendite')
 plt.show()

Esegui il codice di esempio sopra per ottenere i seguenti risultati -