如何根据 matplotlib 中的其他值对点进行着色?

How to color points base on other values in matplotlib?

我有一些数据如下所示:(4,120,507.0),(6, 37, 7012.0),etc

前两个是坐标,另一个是值。我根据这些坐标绘制了散点图。

那么如何根据这些值给这些点上色呢?值越大,颜色越深?非常感谢

在散点图中,可以设置 plt.scatter(x,y,c=z)c 参数来根据 z 的值确定颜色。颜色根据 colormap 设置,可以使用 cmap 参数设置。

import matplotlib.pyplot as plt

a = [(4,120,507.0),(5, 80, 5415.0),(6, 37, 7012.0),(7, 96, 2173.0),(8,57,3777.0)]
x,y,z = zip(*a)

plt.scatter(x,y, c=z, s=100, cmap="YlOrBr", edgecolor="k")
plt.colorbar(label="values")

plt.show()

另请参阅documentation and look at the matplotlib examples