1

我有 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 的颜色条从 min(z) 到 max(z) 变化。

如果你能分享你关于如何做到这一点的建议,这将是有帮助的。

谢谢,

4

1 回答 1

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

查看文档以获取更多详细信息和示例。

于 2013-08-24T13:14:43.763 回答