波那文都 2019-04-15 12:24 采纳率: 0%
浏览 5222

生成二维均匀分布的三维图报错AttributeError: 'int' object has no attribute 'ndim'?

  • 生成二维均匀分布的三维图报错

  • 代码如下:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.gca(projection='3d')
x=np.arange(0,1,0.01)
y=np.arange(0,1,0.01)
X,Y=np.meshgrid(x,y)
Z1=1
Z2=0
surf=ax.plot_surface(X,Y,Z1,color='b')
surf=ax.plot_surface(X,Y,Z2,color='r')

plt.show()
  • 报错信息

Traceback (most recent call last):

File "二维均匀分布.py", line 15, in

surf=ax.plot_surface(X,Y,Z1,color='b')

File "E:\DataAnalysis\python-3.7.0\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py", line 1610, in plot_surface

if Z.ndim != 2:

AttributeError: 'int' object has no attribute 'ndim'

  • 截图

图片说明

给底面Z=0和均匀分布的平面Z=1染色,但显示这个问题,搜索了下,基本上没有与这个相似的。。。请教该如何改啊!~

  • 写回答

2条回答 默认 最新

  • fanyiping 2019-11-17 01:22
    关注

    改成下面就可以了,另外改了参数,100 * 100个点太多了会有点卡。所以改成0.1 ,这是一个均匀分布的3D效果图,没有实际意义

        fig=plt.figure()
        ax=fig.gca(projection='3d')
        X=np.arange(0,1,0.1)
        Y=np.arange(0,1,0.1)
    
        X,Y = np.meshgrid(X,Y)
        Z1=np.ones((10,10))
        Z2=np.zeros((10,10))
    
        surf=ax.plot_surface(X,Y,Z1,color='b')
        surf=ax.plot_surface(X,Y,Z2,color='r')
    
        plt.show()
    

    _

    评论

报告相同问题?

悬赏问题

  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决