我正在尝试复制scikit-learn中的一个示例,plot_iris_dataset.py。 我相信我已经安装了最新的python-matplotlib(截至2013年2月8日),但是在尝试调用Axes3D对象中的set_zticks(())方法时出现错误。 我不会复制所有代码,但是它看起来像这样:
...
ax = Axes3D(fig, elev=-150, azim=110)
...
ax.set_zticks(()
出现错误:
AttributeError: 'Axes3D' object has no attribute 'set_zticks'
由于我对scikit-learn和matplotlib不是很熟悉,所以并不确定这个调用应该做什么。如果我将它注释掉,那么三维图会正常显示(上面页面上的其他代码可以运行)。我尝试了一些搜索,但没有找到解决方法,但我得知这种调用可能已经过时了。我想在stackoverflow上发布一个问题,希望有人能为我或其他人澄清一下。
编辑:我现在注意到这个调用应该删除刻度线,但它似乎对任何方向(x、y或z)都不起作用,但我只在z方向上出现了错误。这是我的图形的样子(由于某些原因,数据点没有保存在PNG文件中)。
其他参考资料:
- 在其他地方的信息线程表明这个错误可能已经在后来的版本中修复了。
- 这个页面被谷歌搜索到,但我不理解它,也看不到zticks的参考。
plt.draw()
来使一些对于axes
对象的修改反映在显示中(你改变了对象的状态,但这并不会自动更新基于该对象的漂亮东西的状态)。 - tacaswell