Python--plt.subplot 和 plt.figure用法

本文介绍了如何在Python中使用plt.subplot创建多张子图,以及如何通过plt.figure调整图片大小,包括示例代码展示如何绘制散点图、线图和设置网格线。
部署运行你感兴趣的模型镜像

Python–plt.subplot 和 plt.figure用法(仅供参考)

绘制子图

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

x = np.arange(0, 20, 0.25)

plt.figure(figsize=(6, 4))

plt.subplot(211)  #构建2x1张图中的第1张子图
plt.axis([0,20,-3,3])
plt.scatter(x, np.cos(x),alpha=0.8)
plt.grid(True)  # 设置网格线

plt.subplot(223)  #构建2x2张图中的第3张子图
plt.axis([0,20,-3,3])
plt.scatter(x, np.sin(x),c='#00CED1',alpha=0.2)
plt.grid(True)  # 设置网格线

plt.subplot(224)  #构建2x2张图中的第4张子图
plt.axis([0,20,-3,3])
plt.plot(x, np.sin(x),'r-.')

plt.grid(True)  # 设置网格线

#plt.legend()
plt.show()

在这里插入图片描述

改变图片大小

import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 20, 0.01)

plt.figure(figsize=(4, 3))
plt.plot(x, np.sin(x), 'r-',label='sin(x)')
plt.plot(x, np.cos(x), 'b--',label='cos(x)')
plt.axis([0,20,-3,3])
plt.legend()
plt.show()

plt.figure(figsize=(8, 4))
plt.plot(x, np.sin(x), 'r-',label='sin(x)')
plt.plot(x, np.cos(x), 'b--',label='cos(x)')
plt.axis([0,20,-3,3])
plt.legend()
plt.show()

在这里插入图片描述
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

在 Matplotlib 中,`plt.figure` `plt.subplot` 是用于创建管理图形(Figure)与子图(Axes)的核心函数。它们提供了灵活的方式来组织多个图表内容,适用于数据可视化任务中的布局设计。 ### `plt.figure` `plt.figure` 用于创建一个新的图形对象,并可以设置其大小、分辨率等属性。它通常作为绘图流程的起点,特别是在需要多图排列或自定义画布时非常有用。例如: ```python import matplotlib.pyplot as plt # 创建一个指定大小的 Figure 对象 fig = plt.figure(figsize=(10, 5), dpi=100) # 可以通过 add_subplot 方法添加子图 ax1 = fig.add_subplot(121) ax1.plot([1, 2, 3], [4, 5, 1]) ax1.set_title("First Subplot") ax2 = fig.add_subplot(122) ax2.plot([1, 2, 3], [1, 5, 4]) ax2.set_title("Second Subplot") plt.show() ``` 该方法支持多种参数来控制图形的外观,包括 `figsize`(图形尺寸)、`dpi`(分辨率)等[^2]。 ### `plt.subplot` `plt.subplot` 用于在当前图形中创建子图。它接受三个整数参数:行数、列数当前子图索引(从 1 开始)。例如,`plt.subplot(2, 2, 1)` 表示将图形划分为 2 行 2 列,并选择第 1 个子图进行绘制。代码示例如下: ```python # 创建一个包含 2x2 子图的图形 plt.subplot(2, 2, 1) plt.plot([1, 2, 3], [4, 5, 1]) plt.title("Top Left") plt.subplot(2, 2, 2) plt.plot([1, 2, 3], [1, 5, 4]) plt.title("Top Right") plt.subplot(2, 2, 3) plt.plot([1, 2, 3], [3, 2, 1]) plt.title("Bottom Left") plt.subplot(2, 2, 4) plt.plot([1, 2, 3], [2, 3, 4]) plt.title("Bottom Right") plt.tight_layout() # 自动调整子图之间的间距 plt.show() ``` 此方法适合快速生成多个相关但独立的图表区域,尤其在探索性数据分析中非常实用[^3]。 ### 结合使用 `plt.figure` `plt.subplot` 有时需要同时控制图形的整体属性子图的细节。可以通过 `plt.figure` 创建图形后,再使用 `add_subplot` 添加子图。例如: ```python fig = plt.figure(figsize=(8, 6)) # 添加第一个子图 ax1 = fig.add_subplot(211) ax1.plot([1, 2, 3], [4, 5, 1]) ax1.set_title("Top Subplot") # 添加第二个子图 ax2 = fig.add_subplot(212) ax2.plot([1, 2, 3], [1, 5, 4]) ax2.set_title("Bottom Subplot") plt.tight_layout() plt.show() ``` 这种方式允许更精细地控制每个子图的布局样式,适用于复杂的可视化需求[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值