pythonmatplotlib AttributeError Axes3D对象没有属性集

2024-09-29 17:54:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图复制scikit learn中的一个例子,plot_iris_dataset.py。我相信我有最新的python matplotlib(截至2013年2月8日),但是在Axes3D对象中调用set zticks(())方法时遇到了一个错误。我不会复制所有的代码,但它是这样的:

...
ax = Axes3D(fig, elev=-150, azim=110)
...
ax.set_zticks(()

给出错误:

^{pr2}$

因为我是scikit learn和matplotlib的新手,所以我不太确定这个调用应该做什么。如果我把它注释掉,我会得到一个很好的三维图(上面页面上的其余代码都可以)。我没试过用谷歌搜索的方式,但我还没找到什么线索。我想我会在stackoverflow上发布一个问题,希望有人能为我或其他人澄清。在

编辑:我现在注意到这个调用应该删除勾号。它似乎对任何方向都不起作用,x,y,或z,但我只得到z方向的错误。下面是我的图形的显示方式(由于某些原因,数据点没有保存在PNG文件中)My plot, notice the tick marks in all dimensions

其他参考文献:


Tags: 代码irisplotmatplotlib错误scikitax方向
1条回答
网友
1楼 · 发布于 2024-09-29 17:54:49

我终于解决了这个问题,多亏了@tcaswell。。。我没有经验,所以我不太确定,最后,什么是有效的,但我会尽力解释:

简而言之:更新到最新的matplotlib(从1.0.1升级到1.2)似乎是解决方案。在

长回答:更新matplotlib并不容易!我尝试了很多方法,所以我不确定最终是什么起作用了,但下面是一个大致的概述:

截至2013年2月9日,apt-get-install只获得1.0.1版本。因此,我按照matplotlib page上所述从源代码卸载并安装。在

当我尝试这样做时,代码已经编译,但是我的图形窗口不会显示出来。这是由于后端问题,没有正确识别GTK(或类似的)。为了解决这个问题,我定制了设置.cfg用于生成matplotlib的文件

<line 58> gtk = True
<line 57> gtkagg = True
<line 74> backend = GTKAgg

然后我按照上一页的概述进行构建和编译。在

注意:我做了很多其他的事情,所以我不确定上面的方法是否是最小的解决方案。在

相关问题 更多 >

    热门问题