0
  from matplotlib.pyplot import *

たとえば、変数名 'R' で格納されている 2D 配列があります。

 ([[ 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]])

次の座標、たとえばディスク 1 に半径 r の円をプロットします。

x-coordinate: 0.680979 y-coordinate:0.8126483

すべての円を 1 つのグラフにプロットしたいと思います。

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 に答える