Python 从3个不同大小的列表中平滑matplotlib中的等高线图

Python 从3个不同大小的列表中平滑matplotlib中的等高线图,python,matplotlib,plot,contour,Python,Matplotlib,Plot,Contour,我有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的变化而变化。我想生成一个这样的图

我有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的变化而变化。我想生成一个这样的图

x=1、x=2之间的区域将由z的色标填充。对于所有x间隔,z的颜色栏从最小(z)到最大(z)不等

如果你能分享你对如何做的建议,这将是很有帮助的


谢谢,

您想要的似乎是一个带有
色条的
等高线
绘图。您可以执行以下操作:

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.colorbar()

那么,您的数据是否只是一个三维尺寸数组
(n1、n2、n3)
?或者数据是二维的,但每一行的元素数量不同?谢谢你的回复。它是一个3D阵列,每个维度的大小也是恒定的。
plt.colorbar()