Python: Can a 3d plot made from a list of data points have a gradient color scheme? -
i have list of points plotted in 3d, , have gradient color scheme plot. possible? if so, how can done? tried of examples on matplotlib site none of them worked.
datagrid.txt made of 3 columns of numbers x,t,u
3 column vectors respected columns in txt file.
from mpl_toolkits.mplot3d import axes3d import numpy np import pylab x, t, u = np.loadtxt("datagrid.txt", unpack = true) fig = pylab.figure() ax = fig.add_subplot(111, projection = '3d') ax.plot(x, t, u) pylab.show()
instead of ax.plot
, try ax.plot_surface.
edit
after discussions op, found out data given in 1d column vectors, plot_surface
expects 2d arrays. data grouped x
values, each x
value has 701 increasing values of t
. data had reshaped 2d arrays so:
x = x.reshape((-1, 701)) t = t.reshape((-1, 701)) u = u.reshape((-1, 701))
then, gradient requires specifying colormap:
ax.plot_surface(x, t, u, cmap=pylab.get_cmap('jet'))
where 'jet' colormap requested. list of colormaps matplotlib available here.
Comments
Post a Comment