【论文绘图】图中各元素分别用哪个函数控制?

以下内容参考宁海涛老师的书《科研论文配图绘制指南——基于python》以及matplotlib官方文档。

【论文绘图】图中各元素分别用哪个函数控制?_第1张图片
这些元素分别是用哪个接口控制的呢?

Artists

matplotlib共三层API,FigureCanvasRenderer 层负责处理底层细节,用户花95%的时间都是在Artists层。
Artists对象 有两种,基础对象和容器对象。 基础类元素包括常见的点(point)、 线(line)、文本(text)、网格(grid)、标题(title)、图例(legend)等;容器类元素则是指 一种或多种基础类元素的合集,主要包括图形、坐标图形、轴和刻度 。

figure

创建figure并在上面作图:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1) # two rows, one column, first plot

add_subplot 在图表中添加axes

Axes

Axes 是绘图区域, 也称为子图 。大部分对象都会进入其中,Axes 有许多特殊的辅助方法(plot()、text()、hist()、imshow()),可以创建最常见的图形原型(分别为 Line2D、Text、Rectangle、AxesImage)。

使用辅助方法创建元素:

接上例:

import numpy as np
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2*np.pi*t)
line, = ax.plot(t, s, color='blue', lw=2)

这样就在ax子图上添加了line元素。这个元素保存在ax.lines列表中。

移除元素的方法:

如果想要移除一条line:

line = ax.lines[0]
line.remove()

控制xy轴的方法:

每个Axes实例包含一个 XAxis 和一个 YAxis 实例,用于处理刻度、刻度标签和轴标签的布局和绘制。
设置轴标签

xtext = ax.set_xlabel('my xdata')  # returns a Text instance
ytext = ax.set_ylabel('my ydata')


Axes类的其他方法可以查阅https://matplotlib.org/stable/api/axes_api.html

区别Axes和Axis

Axes是一个子图的一整套坐标轴,包括x轴,y轴,(z轴)。
Axis是一个子图的一个轴,是x轴,y轴,(z轴)

你可能感兴趣的:(matplotlib)