Matplotlib - Axes 坐标轴类
Axes 对象是具有数据空间的图像区域。 一个给定的图形可以包含多个 Axes,但是一个给定的 Axes 对象只能在一个 Figure 中。 Axes 包含两个(在 3D 情况下为三个)Axis 对象。 Axes 类及其成员函数是使用 OO 接口的主要入口点。
Axes 对象通过调用 add_axes() 方法添加到图中。 它返回坐标轴对象并在位置 rect [left, bottom, width, height] 添加一个坐标轴,其中所有数量都是图形宽度和高度的分数。
参数
以下是Axes类的参数 −
rect − [left, bottom, width, height] 数量的 4 长度序列。
ax=fig.add_axes([0,0,1,1])
axes类的以下成员函数添加不同的元素绘制 −
Legend
axes 类的legend() 方法为绘图添加图例。 需要三个参数 −
ax.legend(handles, labels, loc)
其中 labels 是字符串序列并处理 Line2D 或 Patch 实例序列。 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 |
| ‘b’ | Blue |
| ‘w’ | White |
标记代码
| 字符 | 说明 |
|---|---|
| ‘.’ | 点标记 |
| 'o' | 圆形标记 |
| 'x' | X 标记 |
| ‘D’ | 菱形标记 |
| 'H' | 六边形标记 |
| 's' | 方形标记 |
| '+' | 加号标记 |
线条样式
| 字符 | 说明 |
|---|---|
| ‘-‘ | 实线 |
| '—' | 虚线 |
| '-.' | 点划线 |
| ‘:’ | 虚线 |
| 'H' | 六边形标记 |
以下示例以线图的形式显示了电视和智能手机的广告费用和销售数据。 代表电视的线是带有黄色和方形标记的实线,而智能手机线是带有绿色和圆形标记的虚线。
import matplotlib.pyplot as plt
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 = ('tv', 'Smartphone'), loc = 'lower right') # legend placed at lower right
ax.set_title("Advertisement effect on sales")
ax.set_xlabel('medium')
ax.set_ylabel('sales')
plt.show()
当上面的代码行被执行时,它会产生下面的线图 −

