1. 动态散点图

    import matplotlib.pyplot as plt
    import numpy as np
    
    plt.ion()
    plt.figure(figsize = (4,4))
    
    # 画单位圆
    theta = np.arange(0, 2.1*np.pi, 2*np.pi/100)
    plt.plot(np.cos(theta), np.sin(theta))
    plt.xlim([-1,1])
    plt.ylim([-1,1])
    
    # 模拟的随机点数
    n = 100
    a = 2 * np.random.rand(n, 2) - 1
    for i in range(n):
    	color = 'g'
    	if (a[i][0] ** 2 + a[i][1] ** 2 ) < 1:
    		color = 'r'
    	plt.scatter(a[i][0], a[i][1], c=color, marker='^')
        plt.pause(0.1)
    
  2. 动态折线图

    ax = []
    ay = []
    plt.ion()
    for i in range(10):
    	ax.append(i)
    	ay.append(i**3 + 3*i + 1)
    	plt.plot(ax, ay, 'ro--')
    	plt.pause(0.1)
    
  • 注:(1)代码在Jupyter中是一张一张的 figure 出现,但在 IDLE 或 VScode 中编译会是动态效果。(2)但代码在VScode中会闪退,这是可以在 scatterplot后面添加 plt.ioff(),然后在最后循环完后加上 plt.show(),结果就不会再闪退。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐