0
  from matplotlib.pyplot import *

例如我有一个二维数组,存储在变量名下:'R':

 ([[ 0.680979  ,  0.8126483 ],
   [ 0.4634487 ,  0.14742914],
   [ 0.27596818,  0.70073533],
   [ 0.52843694,  0.54878972],
   [ 0.13926434,  0.4223568 ],
   [ 0.39956441,  0.31257942],
   [ 0.06566612,  0.65883135],
   [ 0.44879016,  0.33009628],
   [ 0.68340944,  0.67422729],
   [ 0.25075741,  0.08038742]])

我想在以下坐标处绘制一个半径为 r 的圆,例如磁盘 1:

x-coordinate: 0.680979 y-coordinate:0.8126483

我希望将所有圆圈绘制在一张图表上。

4

1 回答 1

0

如果要以屏幕单位指定圆的大小,请使用scatter

import matplotlib.pyplot as plt
import numpy as np

X, Y = np.array ([[ 0.680979  ,  0.8126483 ],
   [ 0.4634487 ,  0.14742914],
   [ 0.27596818,  0.70073533],
   [ 0.52843694,  0.54878972],
   [ 0.13926434,  0.4223568 ],
   [ 0.39956441,  0.31257942],
   [ 0.06566612,  0.65883135],
   [ 0.44879016,  0.33009628],
   [ 0.68340944,  0.67422729],
   [ 0.25075741,  0.08038742]]).T

r = 10  # in units of sq pixels

fig, ax = plt.subplots()
sc = ax.scatter(X, Y, s=r)

scatter文档

如果要以数据单位设置大小:

import matplotlib.patches as mpatches
import matplotlib.collections as mcoll
fig, ax = plt.subplots()
circles = [mpatches.Circle((x, y), radius=.1) for x, y in zip(X, Y)]
coll = mcoll.PatchCollection(circles)
ax.add_collection(coll)
ax.set_aspect('equal')
# you may have to set the x and y limits your self.
ax.set_xlim(...)
ax.set_ylim(...)

circle医生PatchCollection医生

于 2015-02-08T21:32:18.820 回答