2017-04-19 24 views
0

如何設置matplotlib中的修補程序對象的顏色範圍?如何設置matplotlib中的修補程序對象的顏色範圍?

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

我使用這是一個循環,根據返回值迭代數據框和顏色補丁。我想設置色彩映射的上限和下限。

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。 我試圖設置最大和虛榮屬性,但這些似乎不適用於修補程序對象。

回答

0

顏色貼圖取值介於0和1之間,並將它們映射爲顏色。因此cmap(20)將不起作用。

您需要以某種方式規範化您的數據。在這種情況下,它似乎很容易,

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

在普通(線性)情況下,你可以使用一個標準化的實例

norm = matplotlib.colors.Normalize(vmin=0, vmax=20) 
cmap(norm(a)) 
相關問題