matplotlib 三維圖表繪制方法簡介
1. python三維圖表繪制方法簡介
python三維圖表的繪制算是二維圖表的一個進階版本,本質(zhì)上和二維圖表的繪制并無差別,唯一的區(qū)別在于使用的庫略有差異。
相較于二維圖表使用的pyplot庫,三維圖表的繪制使用的是Axes3D庫。
庫引入語句為:
from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D
上下的操作就和二維圖表繪制大差不差了,首先定義三維畫布,然后向里面繪制三維圖表,最后打印出結(jié)果即可。
下面,我們通過一些實例來進行說明。
2. 實例說明
1. 三維曲線圖繪制
首先,我們來看一下三維曲線圖的繪制。
三維曲線圖的繪制和二維曲線圖的繪制方法極其相似,只是我們需要做以下兩點修改:
- 將畫布修改為三維坐標系;
- 傳參時同時傳入x、y、z三個維度的坐標信號。
另外,plot函數(shù)需要修改三維曲線繪制的Axes3D.plot
函數(shù)。
給出代碼樣例如下:
import numpy import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D theta = numpy.linspace(0, 3.14*4, 200) r = numpy.linspace(0, 1, 200) x = r * numpy.cos(theta) y = r * numpy.sin(theta) z = numpy.linspace(0, 2, 200) fig = plt.figure(figsize=(12, 7)) ax1 = plt.axes(projection='3d') ax1.plot(x, y, z) plt.show()
運行即可得到一張三維曲線圖。
2. 三維散點圖繪制
下面,我們來看一下三維空間中的散點圖繪制方法。
其方法其實挺簡單的,就是先繪制x、y面的網(wǎng)點坐標,計算相應(yīng)的z軸高度,而后創(chuàng)建一張三維圖,然后通過Axes3D.scatter
函數(shù)進行散點圖繪制即可。
我們給出具體的代碼樣例如下:
import numpy import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = numpy.linspace(-2, 2, 10) y = numpy.linspace(-2, 2, 10) xx, yy = numpy.meshgrid(x, y) z = xx ** 2 - yy ** 2 fig = plt.figure(figsize=(12, 7)) ax1 = plt.axes(projection='3d') # 創(chuàng)建三維坐標軸 ax1.scatter(xx, yy, z) # 繪制三維散點圖 plt.show()
運行即可得到三維散點圖。
3. 三維曲面圖繪制
三維曲面圖的繪制與三維極其類似,只需要將Axes3D.scatter
函數(shù)替換為Axes3D.plot_surface
函數(shù)即可。
我們就不再多做解釋了,直接給出代碼樣例如下:
import numpy import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = numpy.linspace(-2, 2, 10) y = numpy.linspace(-2, 2, 10) xx, yy = numpy.meshgrid(x, y) print(xx.shape, yy.shape) z = xx ** 2 - yy ** 2 fig = plt.figure(figsize=(12, 7)) ax1 = plt.axes(projection='3d') # 創(chuàng)建三維坐標軸 ax1.plot_surface(xx, yy, z) # 繪制三維曲面圖 plt.show()
運行即可得到三維曲面圖。
3. 參考鏈接
https://matplotlib.org/tutorials/toolkits/mplot3d.html
到此這篇關(guān)于matplotlib 三維圖表繪制方法簡介的文章就介紹到這了,更多相關(guān)matplotlib 三維圖表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python常用數(shù)據(jù)結(jié)構(gòu)字典梳理
這篇文章主要介紹了python常用數(shù)據(jù)結(jié)構(gòu)字典梳理,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08python通用讀取vcf文件的類(復(fù)制粘貼即可用)
這篇文章主要介紹了python通用讀取vcf文件的類(可以直接復(fù)制粘貼使用) ,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02django認證系統(tǒng)實現(xiàn)自定義權(quán)限管理的方法
今天小編就為大家分享一篇django認證系統(tǒng)實現(xiàn)自定義權(quán)限管理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python庫Gym開發(fā)和比較強化學(xué)習(xí)算法使用探究
這篇文章主要介紹了Python庫Gym開發(fā)和比較強化學(xué)習(xí)算法使用探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01