0

x,y 是圆的位置,r 是半径 - 所有向量。我想一次绘制它们。就像是:

import matplotlib.pyplot as plt
from matplotlib.patches Circle

#define x,y,r vectors

fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
plt.Circle((x,y),r,color='r')
plt.show()

谢谢。

4

2 回答 2

1

plt.scatter允许您定义绘制点的半径。

从文档

matplotlib.pyplot.scatter(x, y, s=20, c='b', marker='o')
[...]

s:
    size in points^2. It is a scalar or an array of the same length as x and y.

玩,facecoloredgecolor应该能够得到你想要的

您可以在如何为 matplot 散点图中的每个气泡设置_gid() 中找到一个示例?

于 2013-02-04T17:24:48.947 回答
0

我不了解 Circles 补丁,但您可以使用标准绘图命令执行此操作:

import numpy as np
import matplotlib.pyplot as plt

x = np.array([0.2,0.4])
y = np.array([0.2,1.2])
r = np.array([0.5,0.3])

phi = np.linspace(0.0,2*np.pi,100)

na=np.newaxis

# the first axis of these arrays varies the angle, 
# the second varies the circles
x_line = x[na,:]+r[na,:]*np.sin(phi[:,na])
y_line = y[na,:]+r[na,:]*np.cos(phi[:,na])

plt.plot(x_line,y_line,'-')
plt.show()

基本思想是给plt.plot(...)命令两个二维数组。在这种情况下,它们被解释为一个地块列表。特别是对于许多情节(=许多圆圈),这比逐圈绘制要快得多。

于 2013-02-06T21:12:00.450 回答