您的当前位置:首页正文

使用python实现三维图可视化

2024-03-10 来源:步旅网
使⽤python实现三维图可视化

这是学习tensorflow框架中遇到的知识,这⾥定义函数的时候选⽤的是将x和y封装起来,⽅便tensorflow求导。

要慢慢习惯这种写法

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3Ddef himmelblau(x):

return (x[0]**2 + x[1] - 11)**2 + (x[0] + x[1]**2 - 7)**2x = 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

原因:

缺少依赖包

解决:

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

以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。

因篇幅问题不能全部显示,请点此查看更多更全内容