用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM