问题描述
我已经使用Matplotlib将一个简单的函数绘制为3D图。现在,我想创建一个颜色图以根据u
和v
函数中得出的速度对其进行着色。为此,我想使用在c
中看到的功能。我应该怎么做呢?预先谢谢你。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = np.linspace(-2,2,20)
y = np.linspace(-2,20)
X,Y = np.meshgrid(x,y)
h = np.exp(-X**2 - Y**2) # plotted function
u = -2*X*np.exp(-X**2 - Y**2) # speed in x-direction
v = -2*Y*np.exp(-X**2 - Y**2) # speed in y-direction
c = np.sqrt(u**2 + v**2) # colormap derives from this
fig = plt.figure(figsize = (8,7),facecolor='white')
ax = fig.add_subplot(projection='3d')
ax.plot_surface(X,Y,h)
plt.show()