如何将 .scatter() 的大小参数与半径相关联?

How to relate size parameter of .scatter() with radius?

我想用 `ax3.scatter(x1, y1, s=r1 , facecolors='none', edgecolors='r') 画一些圆,其中:

我以为输入 s = r1 我会得到正确的半径,但事实并非如此。

我该如何解决这个问题?

如果您将 'r' 的值(现在为 5)更改为您想要的半径,它就会起作用。这改编自 matplotlib.org 网站“带有图例的散点图”。应该是有态度的散点图!

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(19680801)
    
fig, ax = plt.subplots()
for color in ['tab:blue', 'tab:orange', 'tab:green']:
    r = 5  #radius
    n = 750 #number of circles
    x, y = np.random.rand(2, n)
    #scale = 200.0 * np.random.rand(n)
    scale = 3.14159 * r**2  #CHANGE r
    ax.scatter(x, y, c=color, s=scale, label=color,
               alpha=0.3, edgecolors='none')

ax.legend()
ax.grid(True)

plt.show()