AI算法(三)plt基础

news2025/1/16 14:52:50

目录

一、前言

二、各类图

        2.1、折线图

        2.2、散点图

         2.3、点线图

        2.4、下三角线

        2.5、点虚线

        2.6、虚点线

        2.7、绘制自己的学习曲线

 三、多线

 四、画布

 五、直方图


一、前言

        plt是深度学习的常用库之一,很多指标结果如AUC、F1、ROC等都是通过plt来实现。本篇文章主要记录plt的一些常见用法。


二、各类图

        2.1、折线图

plt.plot([1, 2, 3, 4], [2, 4, 6, 8])  # 折线
plt.show()

 横坐标为第一个列表,纵坐标为第二个列表

        2.2、散点图

plt.plot([1, 2, 3, 4], [2, 4, 6, 8], 'o')  # 散点
plt.show()

         2.3、点线图

plt.plot([1, 2, 3, 4], [2, 4, 6, 8], 'o-')  # 点线
plt.show()

 

         

        2.4、下三角线

plt.plot([1, 2, 3, 4], [2, 4, 6, 8], 'v-')  # 下三角线
plt.show()

 

 

        2.5、点虚线

plt.plot([1, 2, 3, 4], [2, 4, 6, 8], 'o--')  # 点虚线
plt.show()

 

 

        2.6、虚点线

plt.plot([1, 2, 3, 4], [2, 4, 6, 8], 'o-.')  # 虚点线
plt.show()

 

         

        2.7、绘制自己的学习曲线

        plt的横坐标和纵坐标都是由列表组成,我们可以通过函数对应将目标数字放入到列表中,如下代码所示

import matplotlib.pyplot as plt
time = [4*60+42, 5*60+26, 4*60+6, 1*60+58, 0, 0, 3*60+53, 1*60+59, 6*60+46, 7*60+37, 5*60+43, 2*60+31, 5*60+3, 5*60+43, 1*60+11, 8*60+5, 3*60+38, 5*60+47, 4*60+8, 6*60+9, 7*60+33, 1*60+21, 1*60+55, 3*60+58, 3*60+10, 4*60+38, 3*60+43, 1*60+34, 5*60, 4*60+37]
data = [12.25, 12.26, 12.27, 12.28, 12.29, 12.30, 12.31]
for x in range(1, 24):
    y = '1.'+str(x)
    print(y)
    data.append(y)
plt.plot(data, time)  # 折线图
plt.show()


 三、多线

 

        当我们在做实验时常常需要多种实验进行对比,那如何用plt实现多条线展示在同一个图上呢?

plt.plot([1, 2, 3, 4], [2, 4, 6, 8], 'o-.r', label='Line A')  # 虚点线 红
plt.plot([1, 2, 3, 4], [2, 7, 8, 14], color='blue', marker='o', label='Line B')  # 两条线
plt.title("Matplotlib Test Plot")  # 标题
plt.xlabel("Xlabel")  # x轴
plt.ylabel("Ylabel")  # y轴
# plt.xlim(0, 5)  # x轴范围
# plt.ylim(0, 5)  # y轴范围
# plt.xticks(np.arange(0, 11, 2))  # 步长
plt.legend()  # 显示线条
plt.show()

 


 四、画布

fig = plt.figure()  # 创建画布
ax1 = fig.add_subplot(2, 2, 1)  # 画布分为2行2列 这个plt占第一个单元格
ax2 = fig.add_subplot(2, 2, 2)  # 第二个单元格
plt.show()


 五、直方图

data = [32, 48, 21, 100]  # y
labels = ['Jan', 'Feb', 'Mar', 'Apr']  # x
# plt.bar([0, 1, 2, 4], [5, 6, 7, 8])  # 前者是位置,后者是y 直方图
plt.bar(np.arange(len(data)), data)  # 横坐标填充
plt.xticks(np.arange(len(data)), labels)  # 步长 转换为月份
plt.show()

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/178383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【每日数据结构与算法】

这里面有 10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树; 10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算 法、动态规划、字符串匹配算法。 文章目录一、 基本算法思想1-1 回溯1-2 动态规划dp1-3二、 排序2-1 O(n…

【015 关键字】typedef和define的区别

一、两者区别 关键字typedefdefine(宏)作用不同定义(标识符或关键字)别名简单字符串替换执行时间不同编译过程一部分预处理过程完成作用域不同从定义到花括号“}”截至从定义到文件结尾截止 对指针操作不同 typedef int* INTPTR…

2023啦 最新无人直播小白教程!

最近看了不少up主说,无人直播这个东西可以做副业,自己手里也有一台五年的腾讯云服务器,一个月2t流量,应该是够的,可以玩玩。 先放出我的直播间地址看看效果: b站小红书(深度sleep)b站…

想要学会二叉树?树的概念与结构是必须要掌握的!快进来看看吧

目录 1.树的概念及结构 1.1什么是树? 1.2树的相关术语 1.3树的表示 2.二叉树的概念及结构 2.1二叉树的概念 2.2两种特殊的二叉树 2.3二叉树的性质 2.4二叉树的存储结构 2.4.1 顺序存储 2.4.2 链式存储 1.树的概念及结构 1.1 什么是树? 树是…

【JavaSE专栏6】Java 基本类型转换、包装类、自动装箱、自动拆箱

作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云…

SpringBoot05:员工管理系统

先不连接数据库,后面整合了mybatis再补充 步骤: 1、导入静态资源 下载地址:下载 - KuangStudy 2、在pojo包下写实体类 ①Department //部门表 Data AllArgsConstructor NoArgsConstructor public class Department {private Integer id;…

IPV4地址详解

文章目录IPV4地址分类编址划分子网无分类编制CIDR路由聚合应用规划(子网划分的细节)定长的子网掩码FLSM变长的子网掩码VLSMIPV4地址 IPV4地址就是给因特网(Internet)上的每一台主机(或路由器)的每一个接口…

恶意代码分析实战 2 动态分析基础技术

2.1 Lab3-1 使用动态分析基础技术来分析在Lab03-01.exe文件中发现的恶意代码。 问题 找出这个恶意代码的导入函数与字符串列表。 C:\Documents and Settings\Administrator>strings Lab03-01.exe ExitProcess kernel32.dll ws2_32 cksu advapi32 ntdll user32 StubPath SO…

39.Isaac教程--使用 Pose CNN 解码器进行 3D 物体姿态估计

使用 Pose CNN 解码器进行 3D 物体姿态估计 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录使用 Pose CNN 解码器进行 3D 物体姿态估计应用概述推理模块Pose CNN 解码器训练模块Pose CNN 解码器架构Pose CNN解码器训练从场景二进制文件生…

JAVA BIO与NIO、AIO的区别

1、 IO模型发展 在Java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早期的网…

通信原理简明教程 | 现代数字调制

文章目录1 多进制基带信号2 多进制数字调制2.1 多进制调制的基本原理2.2 MPSK调制3 MSK3.1 MSK信号的表示3.2 MSK的相位网格图3.3 MSK的产生和解调4 QAM4.1 QAM的基本原理4.2 QAM信号的产生和解调4.3 QAM信号的特性5 正交频分复用5.1 OFDM的基本思想5.2 OFDM的基本原理5.3 基于…

Python基础学习 -- 常用模块

一、time模块1、时间戳可以理解为是一个计算机世界的当前时间,很多加密验证什么的,都会用到import time ttime.time() print(int(t)) 运行结果: 16732534522、当前时间import time ttime.strftime("%Y-%m-%d %X") print(t) 运行结果…

vue项目搭建(offline方式)

项目搭建的前提 需要安装node.js,安装步骤可参考https://blog.csdn.net/qq_44628230/article/details/122634132 1.检查环境是否已准备好 2.全局安装vue-cli 3.进入到项目目录,创建一个基于 webpack 模板的新项目(online) 4.由…

JavaScript笔记+案例

前端开发 第四节JavaScript JavaScript:概要 概要: JavaScript,是一门编程语言。浏览器就是JavaScript语言的解释器。 DOM和BOM 相当于编程语言内置的模块。 例如:Python中的re、random、time、json模块等。jQuery 相当于是编程…

搭建代理服务器

搭建代理服务器搭建代理服务器场景ccproxy进行搭建代理服务器proxifier配置代理服务器总结搭建代理服务器 有这种情况,在家需要访问某个内网环境,但是内网的ip从外网是访问不到的,这种需要怎么处理呢? 答案是使用代理服务器。 …

索引失效原因

目录 1.最佳左前缀法则 2.不在索引列上做任何操作 3.存储引擎不能使用索引中范围条件右边的列 4.尽量使用覆盖索引 5.mysql 在使用不等于(! 或者<>)的时候无法使用索引会导致全表扫描 6..is null ,is not null 也无法使用索引 7.like以通配符开头(%abc...)mysql索…

tkinter布局详解

文章目录placepackgrid前情提要&#xff1a; Python UI 界面 tkinter初步Tkinter共有三种布局方案&#xff0c;分别是绝对位置布局 place&#xff0c; 相对位置布局 pack和网格布局 grid。place place是通过声明具体位置来进行布局的方法&#xff0c;这个具体位置既可以绝对坐…

【大数据管理】Java实现布谷鸟过滤器(CF)

实现布谷鸟过滤器&#xff0c;每当有一个小说被存储后将其加入布谷鸟过滤器&#xff0c;并能够使用布谷鸟过滤器查询上述小说是否已经被存储 一、解题思路 在介绍布谷鸟过滤器之前&#xff0c;首先需要了解布谷鸟哈希的结构。最简单的布谷鸟哈希结构是一维数组结构&#xff0…

JAVA基础知识05面向对象

目录 面向对象概述 为什么要学习面向对象&#xff1f; 1. 类和对象 1.1 类的介绍 1.2 类和对象的关系 组织代码 1.3 类的组成 1.4 创建对象和使用对象的格式 2. 对象内存图 2.1 单个对象内存图 2.2 两个对象内存图 3. 成员变量和局部变量 4. this 关键字 4.1 t…

【c语言进阶】结构体最常用知识点大全

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;c语言学习 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我…