我知道我可以使用以下代码在 matplotlib 中绘制 4D 图,第四维显示为颜色图:
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
fig = plt.figure()
ax = fig.add_subplot(111,projection= '3d' )
x = np.arange(100)/ 101
y = np.sin(x) + np.cos(x)
X,Y = np.meshgrid(x,y)
Z = (X**2) / (Y**2)
A = np.sin(Z)
ax.plot_surface(X,Y, Z, facecolors=cm.Oranges(A))
plt.show()
但是,如果我的数据不是其他数据的函数怎么办?没有 np.meshgrid 我该怎么做?(换句话说,我的 Z 系列不能是 X,Y 的输出的函数,它是 np.meshgrid(x,y) 的输出,因为 Z 不是 X 和 Y 的函数。)