在mplot3D中设置zlim
mpl.rcParams['legend.fontsize'] = 10
fig1 = plt.figure()
ax = fig1.gca(projection='3d')
ax.plot(tab_C[0], tab_C[1], zs=0, zdir='z', label = "Projection de la trajectoire de C", color='k')
ax.plot(tab_M[0], tab_M[1], zs=0, zdir='z', label = "Projection de la trajectoire de M", color='r')
for i in range(0,len(tab_t)):
ax.plot(tab_C[0][i:i+2], tab_C[1][i:i+2], tab_C[2][i:i+2], color=plt.cm.rainbow(255*i/len(tab_t)))
ax.plot(tab_M[0][i:i+2], tab_M[1][i:i+2], tab_M[2][i:i+2], color=plt.cm.rainbow(255*i/len(tab_t)))
ax.legend()
ax.set_xlabel('I')
ax.set_ylabel('J')
ax.set_zlabel('K')
m = cm.ScalarMappable(cmap=cm.rainbow)
m.set_array(tab_t)
plt.colorbar(m)
我用我的代码得到了这个阴谋
我的问题是 - 我想为颜色条设置标签,但是ScalarMappale没有方法set_label() - 我想设置zmin = 0以清楚地看到计划(0xy)上的投影,但是似乎这里的zmin是0.05,当我做ax.set_zlim(bottom = 0)它返回
Traceback (most recent call last):
File "code.py", line 117, in <module>
ax.set_zlim(bottom=0)
File "/usr/lib/pymodules/python2.7/mpl_toolkits/mplot3d/axes3d.py", line 515, in set_zlim3d
lims = self._determine_lims(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/mpl_toolkits/mplot3d/axes3d.py", line 476, in _determine_lims
xmin -= 0.05
TypeError: unsupported operand type(s) for -=: 'NoneType' and 'float'
有什么方法可以解决我的问题吗?
正确的调用方式是: set_zlim(min_value, max_value)
,如果有问题,请尝试set_zlim3d
根据文档, colorbar
对象有一个set_label
方法,在这里看到一个例子
上一篇: Set zlim in mplot3D