我想绘制一个气泡图,其中x / y轴彼此之间的纵横比为1:1,并且比例表示气泡的大小。
我的限制大约为+/-20。我想显示一个网格,气泡的大小与它们在x / y空间中覆盖的区域匹配。
我尝试了很多不同的逻辑。我注意到一种模式,它似乎以5.97:72.32的比例绘制最小/最大气泡(我在屏幕上用游标卡尺进行了测量)
以下是一些代码:
# two circles filling the [0,1]x[0,1] and [0,2]x[0,2] squares
x = np.array([0.5, 0.5])
y = np.array([1, 1])
size = np.array([1, 2])
size_squared = size * size # seems to need to be multiplied by some large number
colors=['blue', 'red']
plt.scatter(x, y, s=size_squared, c=colors, alpha=0.4, edgecolors="grey", linewidth=2)
# example axes logic
ax = plt.gca()
ax.set_xlim(-3, 3)
ax.set_ylim(-3, 3)
#plt.axis('equal')
plt.grid(True)
# ...
应该从[0,1] x [0,1]绘制单位网格内的蓝色圆圈,并与[0,2] x [0,2]内的圆圈类似地绘制红色圆圈