📜  Matplotlib – 轴类

📅  最后修改于: 2022-05-13 01:55:13.381000             🧑  作者: Mango

Matplotlib – 轴类

Matplotlib是用于数据可视化的Python包之一。您可以使用 NumPy 库将数据转换为Python的数组和数值数学扩展。 Matplotlib 库用于从数组中的数据制作二维图。

轴类

是创建子图的最基本和最灵活的单元。轴允许将绘图放置在图中的任何位置。一个给定的图形可以包含许多轴,但一个给定的轴对象只能在一个图形中。轴包含两个 2D 轴对象以及 3D 情况下的三轴对象。让我们看一下这个类的一些基本功能。

轴()函数

axes()函数使用参数创建轴对象,其中参数是 4 个元素的列表 [左、下、宽、高]。现在让我们简要了解一下axes()函数。

句法 :

axes([left, bottom, width, height])

例子:

import matplotlib.pyplot as plt
  
  
fig = plt.figure()
  
#[left, bottom, width, height]
ax = plt.axes([0.1, 0.1, 0.8, 0.8]) 

输出:

python-matplotlib-axes1

axes([0.1, 0.1, 0.8, 0.8])中,第一个'0.1'是指图形窗口左侧轴与边框之间的距离为图形窗口总宽度的 10%。第二个“0.1”是指底边轴与图形窗口边框的距离为图形窗口总高度的10%。第一个“0.8”表示从左到右的轴宽度为 80%,后一个“0.8”表示从底部到顶部的轴高度为 80%。

add_axes()函数

或者,您也可以通过调用add_axes()方法将坐标区对象添加到图窗中。它返回轴对象并在 [left, bottom, width, height] 位置添加轴,其中所有数量都是图形宽度和高度的分数。

句法 :

add_axes([left, bottom, width, height])

例子 :

import matplotlib.pyplot as plt
  
  
fig = plt.figure()
  
#[left, bottom, width, height]
ax = fig.add_axes([0, 0, 1, 1])

输出:

python-matplotlib-add-axes

ax.legend()函数

可以通过调用轴类的legend()函数来为绘图添加图例。它由三个参数组成。

句法 :

ax.legend(handles, labels, loc)

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

例子 :

import matplotlib.pyplot as plt
  
  
fig = plt.figure()
  
#[left, bottom, width, height]
ax = plt.axes([0.1, 0.1, 0.8, 0.8]) 
  
ax.legend(labels = ('label1', 'label2'), 
          loc = 'upper left')

输出:

python-matplotlib-图例

ax.plot()函数

坐标轴类的plot()函数将一个数组的值与另一个数组的值绘制为线或标记。

注意:线条可以有不同的样式,例如虚线(':') 、虚线('—') 、实线('-')等等。

标记代码

CharactersDescription
‘.’Point Marker
‘o’Circle Marker
‘+’Plus Marker
‘s’Square Marker
‘D’Diamond Marker
‘H’Hexagon Marker

示例:以下示例显示了正弦余弦函数的图形。

import matplotlib.pyplot as plt
import numpy as np
  
  
X = np.linspace(-np.pi, np.pi, 15)
C = np.cos(X)
S = np.sin(X)
  
# [left, bottom, width, height]
ax = plt.axes([0.1, 0.1, 0.8, 0.8]) 
  
# 'bs:' mentions blue color, square 
# marker with dotted line.
ax1 = ax.plot(X, C, 'bs:') 
  
#'ro-' mentions red color, circle 
# marker with solid line.
ax2 = ax.plot(X, S, 'ro-') 
  
ax.legend(labels = ('Cosine Function', 
                    'Sine Function'), 
          loc = 'upper left')
  
ax.set_title("Trigonometric Functions")
  
plt.show()

输出: