当前位置: 首页 > news >正文

day18 学习笔记

文章目录

  • 前言
  • 一、Matplotlib基本概念
  • 二、绘图常用函数
    • 1.plot函数
    • 2.figure函数
    • 3.add_subplot函数
    • 4.subplots函数


前言

  • 通过今天的学习,我掌握了Matplotlib库中绘制图像的四种常用方法

一、Matplotlib基本概念

  • Matplotlib 库:是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy ndarray 数组来绘制 2D 图像
    在这里插入图片描述
    在以上的概念图中:
  • Figure:指整个图像,包含了所有元素,可以理解为一块画布
  • Axes:指实际参与绘图的部分,称为绘图区或轴域区
  • Axis:指垂直轴和水平轴
  • label:指图像的标签
    tips:Matplotlib 库主要用于数据分析及其可视化,常常与numpy结合使用

二、绘图常用函数

1.plot函数

  • plot函数是Matplotlib 库中最简单,常用的绘图函数
  • plt.(x, y, format_string=None, **kwargs);
  • x,y指传入的数组或列表;后方两个参数用于指定线条的样式和属性
x = np.array([1,2,3,4])
y = np.array([2,4,6,8])
plt.plot(x,y,"r:") #绘制图像
plt.show() #显示图像

在这里插入图片描述

2.figure函数

  • figure函数可以用于实例化figure对象,可以自定义画布
  • 一个画布中可以包含多个axes 对象,也就是说一个画布中可以绘制多个图像
fig = plt.figure() #自定义画布
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) #自定义绘图区域[left, bottom, width, height]
x = np.linspace(0, 10, 100)
y = np.sin(x)
ax.plot(x, y,"r:",label="正弦函数")
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.show()

在这里插入图片描述

3.add_subplot函数

  • Figure类的一个方法,通常用于创建网格状子图
  • fig.add_subplot(nrows, ncols, index)
  • 每个参数代表子图的行数、列数和子图的索引
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# 创建图形,figsize=(宽度, 高度),单位是英寸,图形宽度为 12 英寸,高度为 4 英寸
fig = plt.figure(figsize=(12, 4))

# 第一个子图
ax1 = fig.add_subplot(1, 3, 1)
ax1.plot(x, y1, label='sin(x)')
ax1.set_title('Sine Wave')
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y-axis')
ax1.legend()

# 第二个子图
ax2 = fig.add_subplot(1, 3, 2)
ax2.plot(x, y2, label='cos(x)')
ax2.set_title('Cosine Wave')
ax2.set_xlabel('X-axis')
ax2.set_ylabel('Y-axis')
ax2.legend()

在这里插入图片描述

4.subplots函数

  • 用于创建一个包含多个子图(subplots)的图形窗口
  • subplots 函数返回一个包含所有子图的数组,从而不再需要多次重复调用add_subplot添加子图
  • fig, axs = plt.subplots(nrows, ncols, figsize=(width, height))
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

# 创建图形和子图
fig, axs = plt.subplots(1, 2, figsize=(12, 4))
print(axs)

# 第一个子图
axs[0].plot(x, y1, label='sin(x)')
axs[0].set_title('Sine Wave')
axs[0].set_xlabel('X-axis')
axs[0].set_ylabel('Y-axis')
axs[0].legend()

# 第二个子图
axs[1].plot(x, y2, label='cos(x)')
axs[1].set_title('Cosine Wave')
axs[1].set_xlabel('X-axis')
axs[1].set_ylabel('Y-axis')
axs[1].legend()

在这里插入图片描述


THE END

相关文章:

  • leetcode146.LRU缓存
  • 全球消费理性化浪潮下:跨境电商品牌溢价体系面临重构
  • 深入解析异构计算:从原理到 C++ 实践
  • ubuntu22.04 如何安装 ch341 驱动
  • MySQL-触发器
  • QT基础:安装与简介
  • Unity插件SuperScrollView详解
  • 端到端语音识别案例
  • Docker部署sprintboot后端项目
  • Android 系统中,应用申请的权限相关信息介绍
  • 一文详解QT环境搭建:Windows使用CLion配置QT开发环境
  • 深度学习-153-DeepSeek之调用远程大模型API接口和可用的开源Deepseek服务
  • C#实现HTTP服务器:处理文件上传---解析MultipartFormDataContent
  • 26考研——线性表_ 线性表的链式表示_单链表(2)
  • OpenCV 图形API(或称G-API)(1)
  • 周学习总结
  • 本地后台运行redis服务
  • SpringMVC 拦截器(Interceptor)
  • 渗透测试:登录页面的测试-弱口令思路和实战
  • 计算机网络知识汇总
  • 一个网站怎么做软件/今日国际军事新闻
  • 网站排名top排行榜/seo品牌推广方法
  • 手机怎样制作个人网站/快速提高网站关键词排名优化
  • 模板网站是啥意思/如何做谷歌seo推广
  • 查找网站建设历史记录/365优化大师软件下载
  • 太原做网站公司5大建站服务/快速排名优化