matplotlib之plt.figure
简介
matplotlib.pyplot.subplots:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.figure.html
创建一个图形(figure)对象。
def figure(num=None, # autoincrement if None, else integer from 1-N
figsize=None, # defaults to rc figure.figsize
dpi=None, # defaults to rc figure.dpi
facecolor=None, # defaults to rc figure.facecolor
edgecolor=None, # defaults to rc figure.edgecolor
frameon=True,
FigureClass=Figure,
clear=False,
**kwargs
);
参数
(1)num: 图像的编号(名称),参数没有提供时,会自动的维持一个自增的数字名称。当提供了参数时,如果此figure存在,则返回此对象,如果不存在,则创建并返回figure
(2)figsize: 整数型的元组格式,默认为 None,以元组形式(宽,高)提供宽高的大小,单位为英尺,若没有提供,则大小为 rc figure.figsize 定义的值
(3)dpi: 整数,默认为 None(默认值 rc figure.dpi.),设置 figure 的分辨率
(4)facecolor: 背景颜色,默认为 rc figure.facecolor. 的值
(5)edgecolor: 边框颜色,默认为 rc figure.edgecolor. 的值
(6)frameon: 是否显示绘制图框。
(7)FigureClass: 从matplotlib.figure.Figure派生的类,可用于自定义Figure实例
(8)clear:bool,可选,默认为False。如果为True并且已经存在figure,那么它将被清除
基本使用
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 100, 100)
y1 = np.random.randint(20, 60, size=100)
y2 = np.random.randint(30, 70, size=100)
y3 = np.random.randint(50, 90, size=100)
plt.figure(num="111", figsize=(6, 4), facecolor="pink", edgecolor="green")
plt.plot(x, y1, c="red", label="y1_low")
plt.plot(x, y2, c="blue", label="y2_middle")
plt.plot(x, y3, c="yellow", label="y3_high")
plt.legend(loc="best")
plt.show()
figure维护
figure 的重复利用能大大节约时间,但是 matplotlib 维护的 figure 有数量上限(RuntimeWarning: More than 20 figures have been opened.)。并且,不断的创建新的 figure 实例,很容易造成内存泄漏,而应合理的复用,能大大的提高运行速度。此外,在某些情况下,不清理 figure 将有可能造成在第一幅中 plot 的线再次出现在第二幅图中。
以下包括:
plt.cla()
# 清除axes,即当前 figure 中的活动的axes,但其他axes保持不变。plt.clf()
# 清除当前 figure 的所有axes,但是不关闭这个 window,所以能继续复用于其他的 plot。plt.close()
# 关闭 window,如果没有指定,则指当前 window。
Close a figure window.
``close()`` by itself closes the current figure
``close(fig)`` closes the `~.Figure` instance *fig*
``close(num)`` closes the figure number *num*
``close(name)`` where *name* is a string, closes figure with that label
``close('all')`` closes all the figure windows
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/04/01/matplotlib-plt-figure/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论