2017-04-23 44 views
1

使用下面的代碼,我繪製了兩個矩形色塊,其顏色與算術值相匹配。我已經包含了一個顏色條來解釋數據值。我怎樣才能讓顏色條按照如下方式縮放:深藍色 - >白色?如何讓顏色條從黑暗到光亮?

import matplotlib.pyplot as plt 
import matplotlib.patches as patches 
from matplotlib import cm 
from matplotlib.colors import Normalize 
import numpy as np 

f,ax=plt.subplots() 
blues=plt.get_cmap('Blues') 

norm = Normalize(vmin=0, vmax=2) 
sm = plt.cm.ScalarMappable(cmap=blues, norm=norm) 
sm._A = [] 
ax.add_patch(patches.Rectangle((2,2),width=4.5, height=4, 
facecolor=blues(norm(2)), alpha=1,label='a')) 
ax.add_patch(patches.Rectangle((2,-2),width=4.5, height=4, 
facecolor=blues(norm(0.9)), alpha=1,label='b')) 

plt.colorbar(sm) 
plt.show() 
plt.xlim(xmin=-10,xmax=10) 
plt.ylim(ymin=-10,ymax=10) 

plt.show() 

example output

回答

2

對於任何內置彩色地圖,可以追加_r其名稱末尾得到逆轉顏色映射。因此,請將blues=plt.get_cmap('Blues')替換爲blues=plt.get_cmap('Blues_r')

爲了參考,見的this page底部:

本參考例示出了包括與Matplotlib所有色彩映射表。請注意, 此處列出的任何顏色表可以通過附加「_r」(例如「pink_r」)來反轉。

相關問題