-
动态散点图
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) -
动态折线图
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中会闪退,这是可以在
scatter、plot后面添加plt.ioff(),然后在最后循环完后加上plt.show(),结果就不会再闪退。
动态图表探索:散点图与折线动态演示
本文展示了如何使用Matplotlib在Jupyter和VScode中创建动态散点图和折线图,通过numpy生成随机数据并实现颜色区分。同时介绍了VScode中防止闪退的解决方案,涉及的知识包括单位圆绘制、随机点模拟和数据可视化技术。
875





