用Matplotlib画三维图片的一个实例

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

import numpy as np
from matplotlib import cm

fig=plt.figure()
ax=fig.add_subplot(111,projection='3d')

u=np.linspace(-1,1,100)
x,y=np.meshgrid(u,u)
z=x**2+y**2
ax.plot_surface(x,y,z,rstride=4,cstride=4,cmap=cm.YlGnBu_r)
plt.show()

>>

 

相关知识,关于np.meshgrid()函数实现的功能

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(6,9,4)
y=np.linspace(1,5,5)
mx,my=np.meshgrid(x,y)
print(x)
print(y)

print(mx)
print(my)

plt.plot(mx,my,"bo")
plt.show()

>>

[6. 7. 8. 9.]


[1. 2. 3. 4. 5.]


[[6. 7. 8. 9.]
[6. 7. 8. 9.]
[6. 7. 8. 9.]
[6. 7. 8. 9.]
[6. 7. 8. 9.]]


[[1. 1. 1. 1.]
[2. 2. 2. 2.]
[3. 3. 3. 3.]
[4. 4. 4. 4.]
[5. 5. 5. 5.]]

可视化显示为

生成两个矩阵xm和ym,矩阵xm和ym是一个网格,正好包含了以x,y数组中元素作为横纵坐标组成的所有顶点

x,y,z为什么要这样取值?

这是一个问题,以公式推导求出矩阵2次幂的平方和的结果,从这个结果出发,很难去想象其背后的几何意义。那么利用可视化工具,让我们反过来从几何意义出发,加深对公式推导的理解。起码对于菜鸟的我来说是这样哈哈

分析起来有点困难:

------------------------------------------------------------

 

预留

 

 

 

-----------------------------------------------------------

关于Matplotlib 3D画图优秀的文章

https://blog.csdn.net/hustqb/article/details/78180337

官方文档

https://matplotlib.org/tutorials/toolkits/mplot3d.html

 

posted @ 2019-08-18 05:08  vocus  阅读(5247)  评论(0编辑  收藏  举报