matplotlib.pyplot.figure函数使用总结

本文详细解析了Matplotlib库中figure函数的各个参数,包括num、figsize、dpi、facecolor、edgecolor等,通过实例展示了如何创建和定制图表窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该文仅总结我在使用过程中的需要:

因为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理解为窗口的属性id,即该窗口的身份标识。

如果不提供该参数,则创建窗口的时候该参数会自增,如果提供的话则该窗口会以该num为Id存在。

 

(2)figsize:可选参数。整数元组,默认是无。

提供整数元组则会以该元组为长宽,若不提供,默认为 rc fiuguer.figsize

例如(4,4)即以长4英寸 宽4英寸的大小创建一个窗口

 

(3)dpi:可选参数,整数。表示该窗口的分辨率,如果没有提供则默认为 figure.dpi

 

(4)facecolor:可选参数,表示窗口的背景颜色,如果没有提供则默认为figure.facecolor

其中颜色的设置是通过RGB,范围是'#000000'~'#FFFFFF',其中每2个字节16位表示RGB的0-255

例如'#FF0000'表示R:255 G:0 B:0 即红色。

 

(5)edgecolor:可选参数,表示窗口的边框颜色,如果没有提供则默认为figure,edgecolor

 

(6)frameon:可选参数,表示是否绘制窗口的图框,默认是

 

(7)figureclass:暂不了解

 

(8)clear:可选参数,默认是false,如果提供参数为ture,并且该窗口存在的话 则该窗口内容会被清除。

 

下面我们以实例来运用:

(1)figure1不提供任何参数的时候是以Id为1创建一个窗口。

(2)figure2同样不提供任何参数创建figure2可以看到左上角为Figure2 可见不提供num时,是自增的。

同时我们可以通过plt.subplot函数在figure窗口的基础上进一步分出数个子窗口,例如subplot(211)数字211表示:

2表示划分为2行 1表示划分为1列,1表示以该划分方法第一个 

figure5的创建进行了指定的num。

figure6的创建要注意,假若你想要提供参数的话,则根据多默认参数函数的调用规则,对于

函数中的多个参数。假如你想部分提供参数,部分以默认值,则自左向右,默认值之前的参数无论是否是可选参数都必须提供参数,否则编译错误。

figure7的创建则对窗口的背景颜色等进行了修改。

源码:

import matplotlib.pyplot as plt
f1=plt.figure()
plt.title("figure1")


f2=plt.figure()
plt.title("figure2")

f3=plt.figure(5)
plt.title("figure5")

f6=plt.figure(6,(4,4),100)
plt.title("figure6")

 

f7=plt.figure(7,None,None,'#FFD700','#FF0000')
plt.title("figure7")
plt.show()

<think>好的,用户想了解matplotlib.pyplot.figure的用法,需要给出使用方法和示例。先回顾之前的对话,用户提供了几个引用,涉及plt.plot、add_subplot、图表基本设置等。现在要集中讲解figure函数。 首先,我需要明确figure的作用。figure函数用于创建新的图表窗口,可以设置大小、分辨率、背景色等参数。常见的参数如figsize、dpi、facecolor、edgecolor等需要解释清楚。 接下来,结合用户提供的引用,比如引用[2]中的add_subplot示例,可能需要说明figure和subplot的关系。用户可能对如何创建多个子图或调整图表布局感兴趣。 然后,考虑用户的示例需求。需要提供几个代码示例,展示不同参数的用法。比如设置图表大小、调整DPI、添加多个子图等。同时,要确保代码符合用户之前提到的格式要求,如行内公式用$,独立公式用$$。 还要注意用户提到的中文回答和引用标识。在回答中,适当引用之前的引用内容,比如引用[2]中的add_subplot,引用[4]中的字体设置,引用[5]中的子图创建方法。但用户提供的引用中,可能没有直接提到figure函数的例子,需要结合已有的信息进行关联。 此外,用户可能对如何保存图表感兴趣,比如引用[4]中的savefig,可以在示例中加入保存图表的部分。同时,要确保代码示例正确,比如正确使用plt.figure()后的后续操作,如添加子图、绘图、设置标题等。 还需要检查是否有常见的错误或注意事项,比如在创建多个figure时的对象管理,或者在Jupyter环境中使用%matplotlib inline等。但用户的问题可能更基础,集中在基本用法上。 最后,生成相关问题,帮助用户深入理解。比如如何调整图表布局、多个figure的管理、与subplot的区别等。这些问题应基于figure函数的常见使用场景和潜在疑问点。 总结步骤: 1. 解释figure函数的作用和常用参数。 2. 提供基础示例,展示创建图表并绘图。 3. 展示高级参数设置,如figsize、dpi等。 4. 结合子图创建,引用add_subplot的用法。 5. 添加多个子图的示例,说明多个Axes的使用。 6. 注意事项和常见问题。 7. 生成相关问题。</think>### matplotlib.pyplot.figure 使用详解 --- #### 一、核心功能 `plt.figure()` 用于创建新的图表窗口,是绘图操作的顶层容器,可控制图表尺寸、分辨率等全局属性,返回`Figure`对象。其核心参数如下: | 参数 | 类型 | 作用 | 示例值 | |-------------|-----------|----------------------------|------------------| | `figsize` | (float, float) | 图表尺寸(宽, 高)英寸 | (8, 4) | | `dpi` | int | 分辨率(每英寸像素数) | 300 | | `facecolor` | str | 图表背景颜色 | '#F0F0F0' | | `edgecolor` | str | 图表边框颜色 | 'darkblue' | | `num` | int/str | 图表编号或名称 | 'Figure2' | --- #### 二、基础用法示例 ```python import matplotlib.pyplot as plt import numpy as np # 创建基础图表 fig = plt.figure() # 不传参时使用默认配置 x = np.linspace(0, 2*np.pi, 100) y = np.sin(x) plt.plot(x, y, 'g--', label='sin曲线') plt.title("基本图表演示", fontsize=12) plt.legend() plt.show() ``` [^2][^3] --- #### 三、高级参数设置 ```python # 创建自定义属性的图表 plt.figure( figsize=(10, 5), # 宽10英寸,高5英寸 dpi=120, # 提高分辨率 facecolor='#F5F5F5', edgecolor='teal', linewidth=3, # 边框线宽 num='CustomFigure' ) x = [1,2,3,4,5] y1 = [1,4,9,16,25] y2 = [1,2,3,4,5] # 绘制双曲线 plt.plot(x, y1, 'ro-', label='平方曲线') plt.plot(x, y2, 'b^--', label='线性曲线') plt.xlabel("X轴"), plt.ylabel("Y轴") plt.grid(linestyle=':') plt.legend() plt.show() ``` [^4] --- #### 四、多子图场景 ```python # 创建包含子图的图表 fig = plt.figure(figsize=(12, 6)) # 添加2x1布局的子图 ax1 = fig.add_subplot(211) # 2行1列第1个 ax1.plot(np.random.rand(10), 'tab:blue') ax1.set_title('随机数序列') ax2 = fig.add_subplot(212) # 2行1列第2个 ax2.scatter(range(10), np.random.rand(10)*10, c='red') ax2.set_title('散点分布') plt.tight_layout() # 自动调整子图间距 plt.savefig('multi_subplot.png', dpi=150) # 保存图表[^4] plt.show() ``` --- #### 五、关键注意事项 1. **对象管理**:在Jupyter中建议显式创建`fig`对象,避免自动引用问题 ```python fig = plt.figure() ax = fig.add_subplot(111) ax.plot(...) ``` 2. **DPI与输出**:打印出版物建议dpi≥300,屏幕显示72-150即可[^4] 3. **坐标轴控制**:可通过`fig.axes`获取所有子图对象 ```python for ax in fig.axes: ax.set_xlim(0, 10) ``` --- ### 相关问题 1. 如何在同一代码中管理多个Figure对象? 2. `plt.figure()`与`plt.subplots()`有何区别? 3. 如何批量修改已创建图表的属性? 4. 高分辨率输出时需要注意哪些设置?
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值