如何在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属性,但这些似乎不适用于补丁对象。
答案 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))