Matplotlib 轴类
Axes 对象是具有数据空间的图像区域。
一个给定的图形可以包含多个 Axes,但一个给定的 Axes 对象只能在一个 Figure 中。
Axes 包含两个(在 3D 情况下为三个)轴对象,Axes 类及其成员函数是使用 OO 接口的主要入口点。
通过调用 add_axes() 方法将 Axes 对象添加到图形中,它返回轴对象并在 rect [left, bottom, width, height] 位置添加一个轴,其中所有数量都是图形宽度和高度的分数。
范围
以下是 Axes 类的参数:
rect: [左、底、宽、高]数量的4长序列。
ax=fig.add_axes([0,0,1,1])
轴类的以下成员函数为绘图添加了不同的元素:
Legend
legend()轴类的方法向绘图图添加图例,它需要三个参数:
ax.legend(handles, labels, loc)
其中labels 是一个字符串序列并处理一系列Line2D 或Patch 实例。 loc 可以是指定图例位置的字符串或整数。
位置字符串 | 位置代码 |
---|---|
最佳 | 0 |
右上方 | 1 |
左上 | 2 |
左下角 | 3 |
右下 | 4 |
右边 | 5 |
中左 | 6 |
中右 | 7 |
下中心 | 8 |
上中 | 9 |
中间 | 10 |
axes.plot()
这是轴类的基本方法,它将一个数组的值与另一个数组的值绘制为线条或标记,plot() 方法可以有一个可选的格式字符串参数来指定线条和标记的颜色、样式和大小。
颜色代码
字符 | Color |
---|---|
‘b’ | Blue |
‘g’ | Green |
‘r’ | Red |
‘b’ | Blue |
‘c’ | Cyan |
‘m’ | Magenta |
‘y’ | Yellow |
‘k’ | Black |
‘b’ | Blue |
‘w’ | White |
标记代码
字符 | 描述 |
---|---|
‘.’ | 点标记 |
‘o’ | 圆形标记 |
‘x’ | X marker |
‘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()
执行上述代码行时,会生成以下图: