2013-08-22 74 views
1

我有3個不同大小的列表,例如matplotlib中的平滑輪廓圖從3個不同大小的列表

x=[1,2,3,4,5,6] 

之間X = 1和x = 2

y=[1,2,3,4,5] 
z=[100,200,300,400,500] 
y and z are of same length 

之間X = 2並且x = 3

y=[1,2,3,4,5] 
z=[300, 350, 400, 600, 700] 
y and z are of same length 
x的兩個值中,y和z尺寸之間

所以相同。但是,z的值在每個x的間隔處對每個y都會改變。我想生成一個這樣的情節sample plot

x = 1,x = 2之間的區域將由z的色階填充。對於所有x間隔,z的顏色條從min(z)到max(z)變化。

如果您請分享關於如何做到這一點的建議,這將有所幫助。

感謝,

+0

所以,僅僅是你的數據尺寸的3D陣列'( n1,n2,n3)'?或者它是這樣的數據是二維的,但每個「行」的元素數量不同? – Hooked

+0

感謝您的回覆。它的3D數組和尺寸也是不變的。 – rana

回答

0

你想要什麼似乎是一個contour情節與colorbar。你可以這樣做:

X, Y = np.meshgrid(x, y, copy=False) 
Z = function(X, Y) # I don't know how you are getting the z values from... 

import matplotlib.pyplot as plt 
plt.contour(X, Y, Z) # non-filled contour 

plt.contourf(X, Y, Z) # filled contour 

以及創建colorbar

plt.colorbar() 

check the documentation for more details and examples.