【自用】Python可视化-Matplotlib:figure()

function:

matplotlib.pyplot.figure()
用来创建一个新的figure或者激活现有的figure,每次画图第一句基本都是plt.figure() 。简单学一下

matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, *, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class ‘matplotlib.figure.Figure’>, clear=False, **kwargs)

1. num

图形的唯一标识,合法值为整数或者一个字符串,可选。
如果已存在具有该标识符的图形,则该图形将变为活动状态并返回。如果没有具有该标识符的图形或未指定 num,则将创建一个新图形,使其变为活动状态并返回。
如果 num 是整数,则将用于 Figure.number 属性,否则将使用自动生成的整数值(从 1 开始并为每个新图形递增)。如果 num 是字符串,则图形标签和窗口标题将设置为此值。
(基本都是官网给出的,简单翻译了一下。具体看下面的例子)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-np.pi, np.pi, 256)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

# 创建一个新的figure,num='sin',Figure.number = 1(从1开始)
fig1 = plt.figure(num='sin')
plt.plot(x, y1)

# 创建一个新的figure,num='cos',Figure.number = 2(自动加1)
fig2 = plt.figure(num='cos')
plt.plot(x, y2)

# 创建一个新的figure,num为空, Figure.number = 3(自动加1)
fig3 = plt.figure()
plt.plot(x, y3)

# 已存在具有该标识符的图形,激活并返回,即激活fig1
# 也可以用 plt.figure(num='sin') 激活fig1
plt.figure(num=1)
plt.plot(x, y2)

# 已存在具有该标识符的图形,激活并返回,即激活fig2
# 也可以用 plt.figure(num='cos') 激活fig2
plt.figure(num=2)
plt.plot(x, y1)

plt.show()

result

注意:fig1和fig2的window title

2. figsize

合法值为一个元组(float, float), (default: [6.4, 4.8]) , 分别表示宽度、高度(以英寸为单位)。

int型会被转为float

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-np.pi, np.pi, 256)
y1 = np.sin(x)
y2 = np.cos(x)

fig1 = plt.figure()
plt.plot(x, y1)

fig2 = plt.figure(figsize=(3,2))
plt.plot(x, y2)
plt.show()

result_figsize

3. dpi

合法值为一个float型数值。(int型会被转为float型)default: 100.0
表示图形的分辨率(以每英寸点数计算)。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-np.pi, np.pi, 256)
y1 = np.sin(x)

fig1 = plt.figure(dpi=25.0)
plt.plot(x, y1)

fig2 = plt.figure(dpi=50.0)
plt.plot(x, y1)

fig3 = plt.figure()
plt.plot(x, y1)

plt.show()

在这里插入图片描述

4. facecolor

合法值为颜色值,背景颜色。default: ‘white’(默认背景色为白色)。

Matplotlib可以识别以下格式:

  • RGB (red, green, blue) 或 RGBA (red, green, blue, alpha)
    (0.1, 0.2, 0.5) 或(0.1, 0.2, 0.5, 0.3)
  • 不区分大小写的十六进制 RGB 或 RGBA 字符串
    ‘#0f0f0f’ 或 ‘#0f0f0f80’
  • 灰度值的闭区间 [0, 1] 内的浮点值的字符串表示
    ‘0’ as black
    ‘1’ as white
    ‘0.8’ as light gray
  • 一些基本颜色的单字符简写符号
    ‘b’ as blue
    ‘g’ as green
    ‘r’ as red
    ‘c’ as cyan
    ‘m’ as magenta
    ‘y’ as yellow
    ‘k’ as black
    ‘w’ as white
  • 不区分大小写的 X11/CSS4 颜色名称,没有空格
    ‘aquamarine’
    ‘mediumseagreen’

列出了几种常用的颜色标识格式,其他的可以参考官网

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-np.pi, np.pi, 256)
y1 = np.sin(x)

fig1 = plt.figure(facecolor='blue', figsize=(3, 1.8))
plt.plot(x, y1)

fig2 = plt.figure(facecolor='#0f0f0f', figsize=(3, 1.8))
plt.plot(x, y1)

fig3 = plt.figure(facecolor='y', figsize=(3, 1.8))
plt.plot(x, y1)

fig4 = plt.figure(facecolor='aquamarine', figsize=(3, 1.8))
plt.plot(x, y1)

fig5 = plt.figure(facecolor='0.7', figsize=(3, 1.8))
plt.plot(x, y1)

fig6 = plt.figure(facecolor=(0.1, 0.2, 0.5), figsize=(3, 1.8))
plt.plot(x, y1)

plt.show()

在这里插入图片描述

4. edgecolor

合法值为颜色值,边框颜色。default: ‘white’(默认边框为白色)。

5. frameon

布尔值。default: True。如果为 False,则禁止绘制图形框架。

6. FigureClass

subclass of Figure
如果设置,将创建此子类的一个实例,而不是普通的图形。

7. clear

布尔值。default: False。如果为 True 并且该图形已经存在,则将其清除。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-np.pi, np.pi, 256)
y1 = np.sin(x)
y2 = np.cos(x)

fig1 = plt.figure(num='fig1')
plt.plot(x, y1)

fig2 = plt.figure(num='fig2')
plt.plot(x, y1)

# 在激活fig1时,clear=True,会将已经绘制的图形清除
plt.figure(num='fig1', clear=True)
plt.plot(x, y2)

# 在激活fig2时,clear=False,不会将已经绘制的图形清除
plt.figure(num='fig2', clear=False)
plt.plot(x, y2)

在这里插入图片描述

8. layout

合法值:‘constrained’, ‘compressed’, ‘tight’, ‘none’, LayoutEngine, None
default: None
用于定位绘图元素的布局机制,以避免重叠轴装饰(标签、刻度等)。

如果要创建许多图形,请确保在未使用的图形上明确调用 pyplot.close,因为这将使 pyplot 能够正确清理内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值