matplotlib colorbar smoothness

时间:2012-12-19 20:16:37

标签: python matplotlib

我试图使用这个函数使用contourf绘制一些数据:

cmap = mpl.cm.jet
norm = mpl.colors.Normalize(vmin=min(zi), vmax=max(zi))
ax = plt.contourf(xi, yi, zi, N=20, norm=norm, cmap=cmap)
plt.colorbar(ax)

我得到的颜色吧就是这个:

alt text

但是,我想让colorbar更具渐变性,例如:

alt text

有可能吗?我尝试将N = 50添加到contourf函数但它没有帮助。

2 个答案:

答案 0 :(得分:3)

色彩图中的级别数与轮廓中的级别数相同。您的问题是,您无法将N作为关键字传递给contourf,而是会被忽略。试试这个:

ax = plt.contourf(xi, yi, zi, 50, norm=norm, cmap=cmap)
plt.colorbar(ax)

答案 1 :(得分:2)

您需要将等级参数添加到contourf:

ax = plt.contourf(xi, yi, zi, N=20, norm=norm, 
        cmap=cmap,levels=np.linspace(zi.min(),zi.max(),1000))