如何在Matplotlib中快速绘制数千个圆圈
为了快速绘制 Matplotlib 中的数千个圆形,我们将需要使用 matplotlib.collections 库。在这种情况下,我们将使用 CircleCollection 。
步骤
- 从 matplotlib 中导入 collections 以及 numpy 和 pyplot 包。
- 设置图形的大小并调整子图之间和周围的间距。
- 初始化变量 “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()
输出
这将产生以下输出