AI算法(三)plt基础
创始人
2024-05-16 16:09:59
0

目录

一、前言

二、各类图

        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()

 

 

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
AWSECS:哪种网络模式具有... 使用AWS ECS中的awsvpc网络模式来获得最佳性能。awsvpc网络模式允许ECS任务直接在V...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...