1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| import numpy as np import matplotlib.pyplot as plt
r1 = 0.2 r2 = r1 + 0.4
sizes = np.array([60, 80, 120])
x = [0] + np.cos(np.linspace(0, 2 * np.pi * r1, 10)).tolist() y = [0] + np.sin(np.linspace(0, 2 * np.pi * r1, 10)).tolist() xy1 = np.column_stack([x, y]) s1 = np.abs(xy1).max()
x = [0] + np.cos(np.linspace(2 * np.pi * r1, 2 * np.pi * r2, 10)).tolist() y = [0] + np.sin(np.linspace(2 * np.pi * r1, 2 * np.pi * r2, 10)).tolist() xy2 = np.column_stack([x, y]) s2 = np.abs(xy2).max()
x = [0] + np.cos(np.linspace(2 * np.pi * r2, 2 * np.pi, 10)).tolist() y = [0] + np.sin(np.linspace(2 * np.pi * r2, 2 * np.pi, 10)).tolist() xy3 = np.column_stack([x, y]) s3 = np.abs(xy3).max()
fig, ax = plt.subplots() ax.scatter(range(3), range(3), marker=xy1, s=s1 ** 2 * sizes, facecolor='blue') ax.scatter(range(3), range(3), marker=xy2, s=s2 ** 2 * sizes, facecolor='green') ax.scatter(range(3), range(3), marker=xy3, s=s3 ** 2 * sizes, facecolor='red')
plt.show()
|