Python使用matplotlib.pyplot画热图和损失图的代码详解

 更新时间:2023年09月19日 10:53:23   作者:童话ing  
众所周知,在完成论文相关工作时画图必不可少,如损失函数图、热力图等是非常常见的图,在本文中,总结了这两个图的画法,下面给出了完整的代码,开箱即用,感兴趣的同学可以自己动手尝试一下

一、损失函数图

import matplotlib.pyplot as plt
file = open('E:\\5120154230PythonCode\\PBAN-PyTorch-master\\state_dict\\loss\\PBAN_New_restaurant15_0.001_80_0.2_16.csv')  # 打开文档
data = file.readlines()  # 读取文档数据
para_1 = []  # 新建列表,用于保存第一列数据
para_2 = []  # 新建列表,用于保存第二列数据
cnt = 0
for num in data:
    try:
        temp = num.split(",")
        cnt += 1
        if cnt==700:
            break
    except:
        continue
    para_1.append(float(num.split(',')[0]))
    para_2.append(float(num.split(',')[1]))
plt.figure()
# plt.title('loss')
plt.xlabel("iterations")
plt.ylabel("loss")
#color in cnblogs.com/qccc/p/12795541.html
#orange、teal、red、chocolate
plt.plot(para_1, para_2)
plt.show()

CSV数据格式:第一列为Epoch或者迭代次数等,第二列为损失值。

效果图:

二、热图

import matplotlib.pyplot as plt
import pandas as pd
import matplotlib.ticker as ticker
d = [
 [0.43757705, 0.30564879, 0.08757705, 0.013755781, 0.13755781, 0.04080211, 0.03615228],
 [0.31525328, 0.42328909, 0.04004493, 0.01735733, 0.01755249, 0.02630009, 0.09020273],
 [0.01546572, 0.09022246, 0.4166335, 0.09773314, 0.10259592, 0.0447391, 0.03261019],
 [0.01536734, 0.010553601, 0.045800883, 0.39755909, 0.1465714, 0.0408309, 0.03612638],
 [0.11513351, 0.01193435, 0.051866556, 0.046714543, 0.42510962, 0.03154159, 0.4848393],
 [0.11544053, 0.0941444, 0.050161916, 0.09768857, 0.11385846, 0.43073818, 0.13351071],
 [0.01529034, 0.07752335, 0.04121181, 0.01742287, 0.35099512, 0.03777161, 0.38087882]
]
variables = ['Great', 'food', 'but', 'the', 'service', 'was', 'dreadful']
labels = ['Great', 'food', 'but', 'the', 'service', 'was', 'dreadful']
df = pd.DataFrame(d, columns=variables, index=labels)
fig = plt.figure(figsize=(7, 6)) #宽、高
ax = fig.add_subplot(1, 1, 1) #画布设置为1行1列显示在第一块中
# cmap参考:https://matplotlib.org/2.0.2/users/colormaps.html
# hot_r、afmhot_r、plasma_r、ocean_r
# interpolation:nearest,None、none
cax = ax.matshow(df, interpolation='nearest', cmap='hot_r')
fig.colorbar(cax)
tick_spacing = 1
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
ax.yaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
ax.set_xticklabels([''] + list(df.columns))
ax.set_yticklabels([''] + list(df.index))
plt.show()

效果:

另一份代码:

import matplotlib.pylab as plt
import numpy as np
def samplemat(dims):
    aa = np.zeros(dims)
    for i in range(dims[1]):
            aa[0,i] = i
    return aa
dimlist = [(1, 12)]
for d in dimlist:
    arr = samplemat(d)
    plt.matshow(arr)
plt.show()

以上就是Python使用matplotlib.pyplot画热图和损失图的代码详解的详细内容,更多关于Python matplotlib.pyplot画图的资料请关注脚本之家其它相关文章!

相关文章

  • 基于wxPython的GUI实现输入对话框(1)

    基于wxPython的GUI实现输入对话框(1)

    这篇文章主要为大家详细介绍了基于wxPython的GUI实现简单的输入对话框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 基于Python的OCR实现示例

    基于Python的OCR实现示例

    这篇文章主要介绍了基于Python的OCR实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python实现股市信息下载的方法

    Python实现股市信息下载的方法

    这篇文章主要介绍了Python实现股市信息下载的方法,涉及Python使用urllib模块进行URL及文件的相关操作技巧,需要的朋友可以参考下
    2015-06-06
  • python自动化工具日志查询分析脚本代码实现

    python自动化工具日志查询分析脚本代码实现

    这篇文章主要介绍了python日志查询分析脚本代码的实现,分为受控节点和主控节点,大家参考使用吧
    2013-11-11
  • python 实现mysql自动增删分区的方法

    python 实现mysql自动增删分区的方法

    这篇文章主要介绍了python 实现mysql自动增删分区的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python装饰器相当于函数的调用方式

    python装饰器相当于函数的调用方式

    今天小编就为大家分享一篇python装饰器相当于函数的调用方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 异步任务队列Celery在Django中的使用方法

    异步任务队列Celery在Django中的使用方法

    对于网站来说,给用户一个较好的体验是很重要的事情,其中最重要的指标就是网站的浏览速度。因此服务端要从各个方面对网站性能进行优化,这篇文章主要介绍了异步任务队列Celery在Django中的使用方法,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 解决plt.imshow显示cv2.imread读取的图像有色差发蓝的四种方法问题

    解决plt.imshow显示cv2.imread读取的图像有色差发蓝的四种方法问题

    本文主要介绍了解决plt.imshow显示cv2.imread读取的图像有色差发蓝的四种方法问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Python数学建模库StatsModels统计回归简介初识

    Python数学建模库StatsModels统计回归简介初识

    这篇文章主要为大家介绍了Python数学建模库StatsModels统计回归的基本概念,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝打击多多进步
    2021-10-10
  • python环境的报错解决方法

    python环境的报错解决方法

    这篇文章主要为大家介绍了python环境的报错解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论