步骤:

1. 获取x坐标和y坐标(可能有多个y坐标)的数据,注意数据的长度必须相同。

2. x坐标和每一组y坐标组合,将曲线画在画布上。

先看效果:

Caption

上代码:

#coding=utf-8

import matplotlib.pyplot as plt

def txt_reader(txt_file):

iters, loss_ins, loss_cates, losses = [], [], [], []

with open(txt_file, 'r') as f:

lines = f.readlines()

for idx, line in enumerate(lines):

parts = line.rstrip("\n").split(",")

iters.append((idx+1)*50)

loss_in = float(parts[7].split(" ")[2])

loss_ins.append(loss_in)

loss_cate = float(parts[8].split(" ")[2])

loss_cates.append(loss_cate)

loss = float(parts[9].split(" ")[2][:-1])

losses.append(loss)

return iters, loss_ins, loss_cates, losses

if __name__ == "__main__":

# 获取数据,数据存储在列表当中,列表的长度必须相等

iters, loss_ins, loss_cates, losses = txt_reader("test.txt")

plt.title("Result Analysis")

plt.plot(iters, loss_ins, color='green', label='loss_ins')

plt.plot(iters, loss_cates, color='red', label='loss_cate')

plt.plot(iters, losses, color='blue', label='loss')

plt.legend() # 显示图例

plt.xlabel("iteration times")

plt.ylabel("loss")

plt.savefig("test.png", dpi=600)

plt.show()

test.txt数据如下:

{"mode": "train", "epoch": 1, "iter": 50, "lr": 0.00399, "time": 0.40244, "data_time": 0.0079, "memory": 3796, "loss_ins": 2.92358, "loss_cate": 0.86319, "loss": 3.78677}

{"mode": "train", "epoch": 1, "iter": 100, "lr": 0.00465, "time": 0.39973, "data_time": 0.00531, "memory": 3796, "loss_ins": 2.63875, "loss_cate": 0.30817, "loss": 2.94691}

{"mode": "train", "epoch": 1, "iter": 150, "lr": 0.00532, "time": 0.40629, "data_time": 0.00577, "memory": 3822, "loss_ins": 2.03759, "loss_cate": 0.26317, "loss": 2.30076}

{"mode": "train", "epoch": 1, "iter": 200, "lr": 0.00599, "time": 0.41431, "data_time": 0.00564, "memory": 3822, "loss_ins": 1.5731, "loss_cate": 0.28833, "loss": 1.86144}

{"mode": "train", "epoch": 1, "iter": 250, "lr": 0.00665, "time": 0.41081, "data_time": 0.00564, "memory": 3822, "loss_ins": 1.19468, "loss_cate": 0.22969, "loss": 1.42437}

{"mode": "train", "epoch": 1, "iter": 300, "lr": 0.00732, "time": 0.41768, "data_time": 0.00529, "memory": 3822, "loss_ins": 1.30239, "loss_cate": 0.2576, "loss": 1.55999}

{"mode": "train", "epoch": 1, "iter": 350, "lr": 0.00799, "time": 0.41031, "data_time": 0.0054, "memory": 3822, "loss_ins": 0.95138, "loss_cate": 0.23183, "loss": 1.18321}

{"mode": "train", "epoch": 1, "iter": 400, "lr": 0.00865, "time": 0.42539, "data_time": 0.00569, "memory": 3822, "loss_ins": 0.96007, "loss_cate": 0.24343, "loss": 1.20351}

{"mode": "train", "epoch": 1, "iter": 450, "lr": 0.00932, "time": 0.44364, "data_time": 0.00579, "memory": 3822, "loss_ins": 1.0, "loss_cate": 0.25153, "loss": 1.25152}

{"mode": "train", "epoch": 1, "iter": 500, "lr": 0.00999, "time": 0.42731, "data_time": 0.00591, "memory": 3822, "loss_ins": 0.87668, "loss_cate": 0.22732, "loss": 1.10401}

{"mode": "train", "epoch": 1, "iter": 550, "lr": 0.01, "time": 0.42553, "data_time": 0.00556, "memory": 3822, "loss_ins": 0.83301, "loss_cate": 0.22199, "loss": 1.055}

{"mode": "train", "epoch": 1, "iter": 600, "lr": 0.01, "time": 0.43198, "data_time": 0.00533, "memory": 3822, "loss_ins": 0.7791, "loss_cate": 0.22144, "loss": 1.00054}

{"mode": "train", "epoch": 1, "iter": 650, "lr": 0.01, "time": 0.43684, "data_time": 0.00564, "memory": 3822, "loss_ins": 0.71384, "loss_cate": 0.21173, "loss": 0.92557}

{"mode": "train", "epoch": 1, "iter": 700, "lr": 0.01, "time": 0.43482, "data_time": 0.0054, "memory": 3822, "loss_ins": 0.86436, "loss_cate": 0.22944, "loss": 1.0938}

{"mode": "train", "epoch": 1, "iter": 750, "lr": 0.01, "time": 0.4273, "data_time": 0.00564, "memory": 3822, "loss_ins": 0.73229, "loss_cate": 0.20463, "loss": 0.93692}

{"mode": "train", "epoch": 1, "iter": 800, "lr": 0.01, "time": 0.43773, "data_time": 0.00561, "memory": 3822, "loss_ins": 0.75275, "loss_cate": 0.21736, "loss": 0.97012}

{"mode": "train", "epoch": 1, "iter": 850, "lr": 0.01, "time": 0.43426, "data_time": 0.00536, "memory": 3822, "loss_ins": 0.63638, "loss_cate": 0.19536, "loss": 0.83175}

{"mode": "train", "epoch": 1, "iter": 900, "lr": 0.01, "time": 0.43096, "data_time": 0.0057, "memory": 3822, "loss_ins": 0.67119, "loss_cate": 0.21306, "loss": 0.88425}

{"mode": "train", "epoch": 1, "iter": 950, "lr": 0.01, "time": 0.42426, "data_time": 0.00546, "memory": 3822, "loss_ins": 0.67924, "loss_cate": 0.20326, "loss": 0.8825}

{"mode": "train", "epoch": 1, "iter": 1000, "lr": 0.01, "time": 0.42691, "data_time": 0.00574, "memory": 3822, "loss_ins": 0.70954, "loss_cate": 0.18852, "loss": 0.89805}

{"mode": "train", "epoch": 1, "iter": 1050, "lr": 0.01, "time": 0.42939, "data_time": 0.00571, "memory": 3822, "loss_ins": 0.68123, "loss_cate": 0.18355, "loss": 0.86478}

{"mode": "train", "epoch": 1, "iter": 1100, "lr": 0.01, "time": 0.42712, "data_time": 0.00538, "memory": 3822, "loss_ins": 0.67634, "loss_cate": 0.20164, "loss": 0.87798}

{"mode": "train", "epoch": 1, "iter": 1150, "lr": 0.01, "time": 0.43045, "data_time": 0.0055, "memory": 3822, "loss_ins": 0.69543, "loss_cate": 0.20198, "loss": 0.8974}

{"mode": "train", "epoch": 1, "iter": 1200, "lr": 0.01, "time": 0.4271, "data_time": 0.00557, "memory": 3822, "loss_ins": 0.62133, "loss_cate": 0.17701, "loss": 0.79834}

{"mode": "train", "epoch": 1, "iter": 1250, "lr": 0.01, "time": 0.43578, "data_time": 0.00573, "memory": 3822, "loss_ins": 0.63468, "loss_cate": 0.19341, "loss": 0.8281}

{"mode": "train", "epoch": 1, "iter": 1300, "lr": 0.01, "time": 0.44062, "data_time": 0.00562, "memory": 3822, "loss_ins": 0.59891, "loss_cate": 0.19234, "loss": 0.79125}

{"mode": "train", "epoch": 1, "iter": 1350, "lr": 0.01, "time": 0.43352, "data_time": 0.00536, "memory": 3822, "loss_ins": 0.62009, "loss_cate": 0.20177, "loss": 0.82186}

{"mode": "train", "epoch": 1, "iter": 1400, "lr": 0.01, "time": 0.42059, "data_time": 0.00535, "memory": 3822, "loss_ins": 0.62318, "loss_cate": 0.20429, "loss": 0.82746}

{"mode": "train", "epoch": 1, "iter": 1450, "lr": 0.01, "time": 0.4164, "data_time": 0.00504, "memory": 3822, "loss_ins": 0.59074, "loss_cate": 0.18582, "loss": 0.77656}

{"mode": "train", "epoch": 1, "iter": 1500, "lr": 0.01, "time": 0.41437, "data_time": 0.00483, "memory": 3822, "loss_ins": 0.56016, "loss_cate": 0.18197, "loss": 0.74212}

OK,画你的训练日志吧!

python 图形可视化_Python数据可视化-图形,python,曲线图相关推荐

  1. python交互式数据可视化_python数据可视化工具

    熟知python的人都知道,python上常用的一款数据可视化工具是Matplotlib,但是Matplotlib是静态的.那么,Python中除了matplotlib外,还有哪些数据可视化工具呢?其 ...

  2. python做前端可视化_Python数据可视化的四种简易方法

    摘要: 本文讲述了热图.二维密度图.蜘蛛图.树形图这四种Python数据可视化方法. 数据可视化是任何数据科学或机器学习项目的一个重要组成部分.人们常常会从探索数据分析(EDA)开始,来深入了解数据, ...

  3. python柱形图代码_Python数据可视化:基于matplotlib绘制「条形图」

    简介 条形图 (bar chart)是用宽度相同条形的高度或长短来表示数据多少的图形,可以横置或纵置.纵置时的条形图也称为 柱形图 (column chart). 绘制条形图 1 import mat ...

  4. python输入数据可视化_Python数据可视化

    一.matplotlib包如何使用? #导入matplotlib包的pyplot模块 import matplotlib.pyplot as plt 1. plot用于绘制折线图 '''第1步:定义x ...

  5. 用python画熊_Python数据可视化:Pandas库,只要一行代码就能实现

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章一级AI入门学习 ,作者小伍哥 刚接触Python的新手.小白,可以复制下面的链接去免费观 ...

  6. python matplotlib 地图_Python数据可视化,看这篇就够了

    说到python的常见应用,很多人会想到python的数据分析,作为数据分析中的表现层面,数据可视化都是其中必不可少的部分.但本文并非只推荐无任何数据分析需求仅需要做漂亮可视化图表的人学习python ...

  7. python plt包_Python 数据可视化-Matplotlib包学习笔记(一)

    Python 数据可视化 本文主要参照Matplotlib的官方教程进行整理,作为个人的学习笔记进行分享,欢迎相互讨论. Matplotlib包学习笔记(一) 本文主要简单介绍一下Matplotlib ...

  8. python hist函数_Python数据可视化:一文读懂直方图和密度图

    一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 用matplotlib生成基本图形非常简单,只需要几行代码,但要创建复杂的图表,需要调用更多的命令和反复试验,这要求用 ...

  9. python界面散点图_Python数据可视化——散点图

    PS: 翻了翻草稿箱, 发现居然存了一篇去年2月的文章...虽然naive,还是发出来吧... 本文记录了python中的数据可视化--散点图scatter, 令x作为数据(50个点,每个30维),我 ...

  10. 属于python应用领域的有数据可视化_Python数据可视化

    译者序 前 言 第1章 数据可视化概念框架1 1.1 数据.信息.知识和观点2 1.1.1 数据2 1.1.2 信息2 1.1.3 知识3 1.1.4 数据分析和观点3 1.2 数据转换4 1.2.1 ...

最新文章

  1. 《The Elements of Statistical Learning》 chp3 Linear Models for Regression
  2. Slog3_如何使用Python与Mysql进行数据交互
  3. 养成这6个编程好习惯,助你减少90%BUG
  4. 如何编写配置文件 JAVA_SpringBoot 如何编写配置文件
  5. hdu 4497 GCD and LCM
  6. 一个例子彻底搞懂C++的虚函数和纯虚函数
  7. android layer阴影,Android Layer-List实现自定义Shape阴影
  8. centos7下SVN服务器搭建
  9. 【unity】解决 2d-extras 的 CustomRuleTileMenu 脚本报错的问题
  10. php_connect_nonb,net2ftp无法显示文件列表输出为空
  11. android 底部加载更多,android:ScrollView滑动到底部显示加载更多(示例代码)
  12. 有哪些开源的 BI 工具
  13. 测试用例设计方法(二)
  14. EF Code First 更新数据库, 数据库迁移
  15. 葫芦娃系列棋牌服务器在哪里,葫芦娃—【关服】葫芦娃关服公告
  16. GB28181实现对安防摄像头的直播回放控制
  17. 为何Excel表格部分选项是灰色的,无法选择?
  18. JS 删除字符串中所有的数字
  19. STM32的SWD调试方式
  20. python 如何计算平方、次方?平方根、方根?(math.pow()、math.sqrt())

热门文章

  1. java 小游戏Flappy bird的源码以及图片素材
  2. Pyflink系列之使用pyflink实现flink大数据引挚的经典案例wordcount
  3. Mina中的ledger proof
  4. bzoj1627 / P2873 [USACO07DEC]泥水坑Mud Puddles
  5. 最新YYC松鼠聚合直播系统源码/融和电商商城等
  6. hdu5385 wyh2000 and pupil 二分图
  7. Java爬取彼岸桌面壁纸的实现(使用Jsoup)
  8. pyqtgraph 案例 002 Basic Plotting
  9. Python数据分析基础(2)
  10. 数字人民币真的来了 六年历程全回顾