如何在matplotlib中设置补丁对象的颜色范围?

时间:2017-04-19 11:21:13

标签: matplotlib colors

如何在matplotlib中设置补丁对象的颜色范围?

cmap = plt.cm.get_cmap('jet')

我正在使用这个循环来根据返回的值迭代数据框和颜色补丁。我想设置colourmap的上限和下限。

currentAxis = plt.gca()
currentAxis.add_patch(Circle((xpos, ypos), radius, fill=False, color=cmap(a[alt_plot_column]), lw=4))

其中[alt_lot_column]返回一个浮点数,用于为补丁着色。

问题是 - 如何缩放此色彩图,以便最大最小值由色彩映射的范围定义?例如0-20。 我试图设置max和vain属性,但这些似乎不适用于补丁对象。

1 个答案:

答案 0 :(得分:0)

色彩图采用0到1之间的值并将它们映射到一种颜色。因此cmap(20)无效。

您需要以某种方式规范化您的数据。在这种情况下,这似乎很容易,

norm = lambda x: x/20.
cmap(norm(a))

在一般(线性)情况下,您可以使用规范化实例

norm = matplotlib.colors.Normalize(vmin=0, vmax=20)
cmap(norm(a))