matplotlib是python里最popular的画图工具,最近发现它可以用来画动态图。可以看看AI模型训练时候的loss曲线,accuracy变化等等。客观上,比tensorboard更简洁。

代码还是很简单滴:

import matplotlib.pyplot as plt
from random import random
 
def do_something():
    for p in range(10000000):
        res += p
 
fig, ax = plt.subplots()
x = []
y = []
res = 0
for i in range(50):
    x.append(i)
    y.append(50*random())
    ax.cla() # clear plot
    ax.plot(x, y, 'r', lw=1) # draw line chart
    # ax.bar(y, height=y, width=0.3) # draw bar chart
    do_something()    
    plt.pause(0.1)

展示效果如下:

同时支持折线图和柱状图,只需设置x和y两个list就行。至于那个do_something函数,你可以改为任意运算函数,y值可以由这个运算函数得出,这样使得动态图有意义

有疑问可留言~

文章知识点与官方知识档案匹配,可进一步学习相关知识

Python入门技能树绘图库Matplotlib风格和样式