python怎样做三维图可视化效果?
发布时间:2022-03-02 13:00:41 所属栏目:语言 来源:互联网
导读:这篇文章主要给大家分享python做三维图可视化的内容,这是学习tensorflow框架中遇到的知识,下文会使用到的定义函数选用的是将x和y封装,方便tensorflow求导,下面我们就来具体一些实现代码以及要注意的问题。 要慢慢习惯这种写法 import numpy as np import
|
这篇文章主要给大家分享python做三维图可视化的内容,这是学习tensorflow框架中遇到的知识,下文会使用到的定义函数选用的是将x和y封装,方便tensorflow求导,下面我们就来具体一些实现代码以及要注意的问题。 要慢慢习惯这种写法 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D def himmelblau(x): return (x[0]**2 + x[1] - 11)**2 + (x[0] + x[1]**2 - 7)**2 x = np.linspace(-6, 6, 200) y = np.linspace(-6, 6, 200) X, Y = np.meshgrid(x, y) fig = plt.figure(figsize=(12, 10)) ax = fig.gca(projection='3d') ax.plot_surface(X, Y, Z) # 画曲面 # ax.plot(X, Y, Z) # 画曲线,好像x, y得是一维的 ax.view_init(60, -30) # 好像是调成图的角度 ax.set_xlabel('X') ax.set_ylabel('Y') plt.show() 补充:python3安装mayavi,实现3d动态可视化操作 如下代码呢,是在网上找的,搜索关键词“python 3d 动态可视化”,从找到代码到真正执行成功,问题及解决方法记录一下。 环境win8 64位,python3.6 import numpy as np from mayavi import mlab x, y = np.ogrid[-2:2:160j, -2:2:160j] z = abs(x) * np.exp(-x ** 2 - (y / .75) ** 2) pl = mlab.surf(x, y, z, warp_scale=2) mlab.axes(xlabel='x', ylabel='y', zlabel='z') mlab.outline(pl) mlab.show() 问题: 虽然有文章已经指出安装mayavi时安装顺序为PyQt4-->Traits-->VTK-->Mayavi,但是并不知道原因,所以还是直接安装了mayavi,出现如下报错信息: Microsoft Visual C++ 14.0 is required 原因: 缺少依赖包 解决: 根据文章所说,在https://www.lfd.uci.edu/~gohlke/pythonlibs/中查找到mayavi的相关依赖, 1、VTK通过pip install VTK安装 2.PyQt4无法通过pip install PyQt4安装,所以需要下载到Python安装目录的Script下(环境为python3.6,64位win),通过命令pip install PyQt4-4.11.4-cp36-cp36m-win_amd64.whl: 3、Traits并不是作为mayavi的依赖包,而是属于ETS的一部分,同样通过下载文件,pip install traits-4.6.0-cp36-cp36m-win_amd64.whl安装 4、mayavi安装,同样通过下载文件,pip install mayavi-4.6.0+vtk81-cp36-cp36m-win_amd64.whl安装 注:PyQt4、Traits、mayavi也不是不能通过pip install直接从网上下载安装,应该还是缺少相关的依赖,这里只保证通过文件安装不出错。 问题: 运行代码时报错:ImportError: numpy.core.multiarray failed to import 原因: 由于mayavi相关的包安装的是最新的版本,需要更新numpy 解决: pip install --upgrade numpy (编辑:张家口站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

