【发布时间】:2021-11-24 05:23:33
【问题描述】:
我想构建复杂函数的图形并为此使用 Matplotlib。但它只能可视化三个变量的值,我希望我的图表颜色与第四个变量的值一样浅。 Matplotlib 只允许使用第三个变量的值来做到这一点。 我的代码(仍然没有第四个变量):
import pylab as pl
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.colors import LinearSegmentedColormap
from matplotlib import cm
import numpy as np
def makeData ():
x = np.arange (-10, 10, 0.1)
y = np.arange (-10, 10, 0.1)
xgrid, ygrid = np.meshgrid(x, y)
zgrid = np.sin (xgrid) * np.sin (ygrid) / (xgrid * ygrid)
return xgrid, ygrid, zgrid
x, y, z = makeData()
fig = pl.figure()
axes = Axes3D(fig, auto_add_to_figure=False)
fig.add_axes(axes)
axes.plot_surface(x, y, z, rstride=4, cstride=4, cmap = cm.jet)
pl.show()
正是这段代码使用了 z 值和颜色图:
axes.plot_surface(x, y, z, rstride=4, cstride=4, cmap = cm.jet)
你能帮帮我吗?
【问题讨论】:
-
请使用标准导入别名
import numpy as npimport matplotlib.pyplot as plt实现您的代码 -
另外,不要使用pylab,根据Which is the recommended way to plot: matplotlib or pylab?,它被官方拒绝。
-
你在重复使用十年前的代码,... Pylab、Axes3D 已经过时了!
标签: python matplotlib graph graphics 3d