使用 matplotlib 中的数据值缩放标记大小和颜色

scale the marker size and color with data values in matplotlib

我想在 python 中制作一个简单的散点图,但我不知道如何缩放 (i) 标记的大小与 x-y 轴范围和 (ii) 的颜色带有第三个变量的标记(这样颜色将跨越整个颜色图范围)。

例如,这对于 IDL 来说是微不足道的,但我找不到 matplotlib 的简单解决方案。

如有任何想法,我们将不胜感激!

谢谢

编辑:

这是一个简单的例子。


import matplotlib.pyplot as plt

x = [10.,60.]
y = [30.,90.]
z = [3.,8.] # = diameters of x and y points 

plt.xlim(0., 100.)
plt.ylim(0., 100.)
plt.scatter(x,y,s=my_marker_size,marker='o')

如何定义 my_marker_size 以便我的点在此图上由直径为 z 的圆圈表示?

plt.Circle 创建可以添加到图中的圆。将纵横比设置为 'equal' 可以使圆圈不会被拉伸成椭圆形。

import matplotlib.pyplot as plt

x = [10., 60.]
y = [30., 90.]
z = [3., 8.] 

ax = plt.gca()
for xi, yi, diam in zip(x, y, z):
    ax.add_patch(plt.Circle((xi, yi), diam))
ax.set_aspect('equal')
plt.xlim(0., 100.)
plt.ylim(0., 100.)
plt.show()