如何在 Matplotlib 中快速绘制数千个圆圈?
matplotlibpythondata visualization
要在 Matplotlib 中快速绘制数千个圆圈,我们必须使用 matplotlib.collections。在本例中,我们将使用 CircleCollection。
步骤
- 从 matplotlib 导入 collections 包以及 pyplot 和 numpy。
- 设置图形大小并调整子图之间和周围的填充。
- 初始化变量 "num" 表示小圆的数量,初始化变量 "sizes" 表示圆的大小。
- 创建圆形补丁列表。
- 在当前轴上添加圆形补丁艺术家。
- 设置轴的边距。
- 要显示图形,请使用 show() 方法。
示例
import numpy as np import matplotlib.pyplot as plt import matplotlib.collections as mc plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True num = 1000 sizes = 50 * np.random.random(num) xy = 10 * np.random.random((num, 2)) patches = [plt.Circle(center, size) for center, size in zip(xy, sizes)] fig, ax = plt.subplots() collection = mc.CircleCollection(sizes, offsets=xy, transOffset=ax.transData, color='green') ax.add_collection(collection) ax.margins(0.01) plt.show()
输出
它将产生以下输出