Цветовая палитра matplotlib

Я новичок в python, и после его установки я выполнил построение своих 3D-данных, используя matplotlib. К сожалению, единственное, что я не знаю, как сделать, это цветная часть. Мое изображение просто показывает поверхность, но не использует цветную панель вообще. Вот мой код.

from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm from matplotlib.ticker import LinearLocator, FormatStrFormatter import matplotlib.pyplot as plt from matplotlib.mlab import griddata import numpy as np fig = plt.figure() ax = fig.gca(projection='3d') data = np.genfromtxt('Uizq.txt') x = data[:,0] y = data[:,1] z = data[:,2] xi = np.linspace(min(x), max(x)) yi = np.linspace(min(y), max(y)) ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('U') X, Y = np.meshgrid(xi, yi) Z = griddata(x, y, z, xi, yi) ax.set_zlim3d(np.min(Z), np.max(Z)) surf = ax.plot_surface(X, Y, Z, rstride=2, cstride=2, cmap=cm.jet, linewidth=0.5, antialiased=False) fig.colorbar(surf, shrink=0.5, aspect=5) plt.show() 

сюжет http://i49.tinypic.com/263kcbq.png

вы можете видеть, что он синий, и я хочу связать цвет с «U», используя полный спектр cm.jet . Это может быть очень пустой вопрос, так что извините, если вы закатили глаза.

Добавить строку

 surf.set_clim([np.min(Z),np.max(Z)]) 

перед добавлением цветовой полосы.

Кажется, что трехмерное построение не учитывает маскировку, поэтому вы включаете NaN в данные, что смешивает автоматические цветовые ограничения.