matplotlib一张画布中只有一个子图的绘图实践

上一节了解了什么是Figure/Axes/Axis对象后,现在来讨论一张画布中只有一个子图的绘图实践。matplotlib绘图有两种风格,面向对象风格(OO style)和Pyplot风格(pyplot style)。

  • pyplot风格,是最常见的画图风格,直接调用pyplot函数来实现绘图,调用函数过程中,会自动创建和管理figure和axes对象。
    pyplot风格范例代码如下所示
import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(0,2,200)

plt.plot(x, x, color='blue', label='Linear') #自动创建figure和axes,然后绘图
plt.plot(x, x**2, color='red', label='Quadratic') #复用创建figure和axes,然后绘图
plt.plot(x, x**3, color='green', label='Cubic') #复用创建figure和axes,然后绘图

plt.xlabel('x-axis')
plt.ylabel('y-axis')
plt.title("Simple plot demo with one figure and one axes")

plt.legend() # 开启图例

plt.show() # 展示绘图
  • 面向对象风格,是显示创建figure和axes对象,然后调用axes上的方法来实现绘图
    面向对象风格风格范例代码如下所示
import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(0,2,200)

fig, ax = plt.subplots() # 手动创建一个figure和一个ax对象

ax.plot(x, x, color='blue', label='Linear') #在ax对象上,调用plot方法实现绘图
ax.plot(x, x**2, color='red', label='Quadratic') #在ax对象上,调用plot方法实现绘图
ax.plot(x, x**3, color='green', label='Cubic') #在ax对象上,调用plot方法实现绘图

ax.set_xlabel('x-axis')
ax.set_ylabel('y-axis')
ax.set_title("Simple plot demo with one figure and one axes")

ax.legend() # 开启图例

plt.show() # 展示绘图

运行结果,如下所示:
matplotlib一张画布中只有一个子图的绘图实践_第1张图片
simple plot demo

一个绘图中各元素的名称,如下图所示,方便查找对应的修改其属性的函数或方法

matplotlib一张画布中只有一个子图的绘图实践_第2张图片
绘图中各元素的名称

下一节介绍: 一张画布中有多个子图的绘图实践

你可能感兴趣的:(matplotlib一张画布中只有一个子图的绘图实践)