2012-07-13 46 views
4

我試圖創建在matplotlib倒鉤向量圖和一些顏色映射到特定程度的:例如,以具有載體帶10和20之間的幅度繪製爲藍色,和rgb(0,15,40)之間的20和30之間,等等。爲倒鉤和顫動功能的文件(它們是相似的)提到的C輸入ARG:的Python matplotlib倒鉤/顫動地圖的顏色不同組值


倒鉤(X,Y,U,V,C,**千瓦)

參數:

X,Y: x和倒鉤位置的y座標(默認爲倒鉤的頭部;參見樞軸kwarg)

U,V: 給倒鉤軸的x和y分量

C: 用於顏色映射到倒鉤


然而,這是很模糊的一個可選的陣列,以及所有對谷歌搜索後,我沒有更進一步地理解如何在具體使用這種顏色的數組方法。我設法發現,通過將C設置爲矢量幅度數組並指定「cmap」kwarg,它會將倒鉤映射到指定的色彩映射,如下面的示例代碼所示。但是,這不是我想要的。我想控制特定組的大小的顏色。任何幫助,將不勝感激。

示例代碼:

from matplotlib import pyplot as plt 
from numpy import arange,meshgrid,sqrt 

u,v = arange(-50,51,10),arange(-50,51,10) 
u,v = meshgrid(u,v) 
x,y = u,v 
C = sqrt(u**2 + v**2) 
plt.barbs(x,y,u,v,C,cmap=plt.cm.jet) 
plt.show() 

所得的情節圖片鏈接:(抱歉不能發表圖片直接尚)

http://i49.tinypic.com/xombmc.jpg

+0

可以離散的顏色表。看看http://matplotlib.sourceforge.net/examples/api/colorbar_only.html – imsc 2012-07-13 21:44:56

回答

2

您可以通過離散化地圖得到它。

import matplotlib as mpl 
import pyplot as plt 
from numpy import arange,meshgrid,sqrt 

u,v = arange(-50,51,10),arange(-50,51,10) 
u,v = meshgrid(u,v) 
x,y = u,v 
C = sqrt(u**2 + v**2) 
cmap=plt.cm.jet 
bounds = [10, 20, 40, 60] 
norm = mpl.colors.BoundaryNorm(bounds, cmap.N) 
img=plt.barbs(x,y,u,v,C,cmap=cmap,norm=norm) 
plt.colorbar(img, cmap=cmap, norm=norm, boundaries=bounds, ticks=bounds) 
plt.show() 

enter image description here

+0

完美。謝謝。 – 2012-07-14 02:37:35