我有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),但它会进行一些我不想要的插值,我需要更好的方形可视化。
有谁知道怎么做?
由于
答案 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)
...返回此图: