等高线的等高线图

时间:2012-03-06 06:54:15

标签: python plot matplotlib

我有3个数据集,X,Y,Z分别是我的轴和我的数据。它们定义明确,即 len(X)= len(Y)= len(Z)= len(Z [i])= N在范围(0,N)中的i。

我想做一个类似于contourf图(我已经做过),但是使用离散轴,就像“轮廓正方形”一样,每个正方形(x,y)都有一个由Z值给出的颜色(浮点值)。

到目前为止,我正在使用contourf(X,Y,Z),但它会进行一些我不想要的插值,我需要更好的方形可视化。

有谁知道怎么做?

由于

1 个答案:

答案 0 :(得分:5)

您应该使用 matshow imshow 绘图功能。

这里的一个重要论点是插值。 请查看此example from the matplotlib gallery以查看一些示例。

通过使用 matshow(),关键字参数将传递给 imshow() matshow()设置 origin interpolation ='nearest')和 aspect <的默认值/ em>的

这是我自己的工作中的一个例子......

# level, time and conc are previously read from a file

X,Y=[level,time]   
Z=conc.transpose() # Create the data to be plotted

cax = matshow(Z, origin='lower', vmin=0, vmax=500)
    # I am telling all the Z values above 500 will have the same color
    # in the plot (if vmin or vmax are not given, they are taken from
    # the input’s minimum and maximum value respectively)
grid(True)
cbar = colorbar(cax)

...返回此图:

perfil vertical