AI算法(三)plt基础

本文介绍了matplotlib库中plt模块的使用,包括绘制折线图、散点图、点线图、下三角线、点虚线、虚点线以及直方图的方法。还展示了如何创建多线图和自定义学习曲线,并讲解了如何设置图例、坐标轴标签以及创建多子图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、前言

二、各类图

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清忖灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值