IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> matplotlib——图形对象figure及区域对象axe -> 正文阅读

[Python知识库]matplotlib——图形对象figure及区域对象axe

创建图形对象

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.linspace(-10, 10)
y = x**2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HbLgWBVw-1648631193275)(attachment:image.png)]

fig = plt.figure('f1', figsize=(6, 4), dpi=50, facecolor='gray', frameon=True)
plt.plot(x, y)

在这里插入图片描述




绘制多子图

figure 是绘制对象(可理解为一个空白的画布),一个 figure 对象可以包含多个 Axes 子图,一个 Axes 是一个绘图区域,不加设置时,Axes为1,且每次绘图其实都是在figure上的Axes上绘图。

我们是在图形对象上面的 Axes 区域进行作画

绘制子图的几种方式:

  • add.axes() : 添加区域
  • subplot() : 均等地划分画布,只是创建一个包含子图区域的画布,(返回区域对象)
  • subplots() : 既创建了一个包含子图区域的画布,又创建了一个 figure 图形对象,(返回图形对象和区域对象)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uiEiLPlJ-1648631193276)(attachment:image.png)]

# 首先创建画布对象
fig = plt.figure(facecolor='g',figsize=(6, 4), dpi=80)

# ax1 从画布起始位置绘制,宽度和高度与画布一致
ax1 = fig.add_axes([0, 0, 1, 1])

# ax2 从画布 20% 的位置开始绘制,宽度和高度是画布的 50% 
ax2 = fig.add_axes([0.2, 0.2, 0.5, 0.5])

# 在区域中作画
ax1.plot(x, y)
ax2.plot(x, y)

在这里插入图片描述

注意

只有区域对象才可调用 plot() 方法,图形对象是不可以调用的。 但是plt.plot() 却不会报错,是因为 plt 默认返回的是一个区域,验证一下。

fig = plt.figure()
ax1 = fig.add_axes([0, 0, 1, 1])
ax2 = fig.add_axes([0.2, 0.2, 0.5, 0.5])
plt.plot(x, y, color='g')
plt.plot(x, x, color='r')
plt.plot(x, 2*x, color='b')

在这里插入图片描述

若在 ax2 后面调用plt.plot() 会默认返回 ax2 区域

fig = plt.figure()
ax1 = fig.add_axes([0, 0, 1, 1])
plt.plot(x, y, color='g')
plt.plot(x, x, color='r')

ax2 = fig.add_axes([0.2, 0.2, 0.5, 0.5])
plt.plot(x, 2*x, color='b')

在这里插入图片描述

# 创建 2行2列的子图,返回图形对象(画布),所有子图的区域
fig, axes = plt.subplots(2, 2)
x = np.arange(-2, 5)

ax1 = axes[0][0]
ax1.plot(x, x**2)
ax1.set_title('square')

axes[0][1].plot(x, np.sqrt(x))
axes[0][1].set_title('sqrt')

axes[1][0].plot(x, np.exp(x))
axes[1][0].set_title('exp')

axes[1][1].plot(x, np.log10(x))
axes[1][1].set_title('log10')

# 处理遮挡标题
plt.tight_layout()
C:\Users\11434\AppData\Local\Temp/ipykernel_13664/2890334170.py:9: RuntimeWarning: invalid value encountered in sqrt
  axes[0][1].plot(x, np.sqrt(x))
C:\Users\11434\AppData\Local\Temp/ipykernel_13664/2890334170.py:15: RuntimeWarning: divide by zero encountered in log10
  axes[1][1].plot(x, np.log10(x))
C:\Users\11434\AppData\Local\Temp/ipykernel_13664/2890334170.py:15: RuntimeWarning: invalid value encountered in log10
  axes[1][1].plot(x, np.log10(x))

在这里插入图片描述


  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:20:55  更:2022-04-01 23:22:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:05:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码