Python使用matplotlib繪制三維圖形示例
本文實例講述了Python使用matplotlib繪制三維圖形。分享給大家供大家參考,具體如下:
用二維泡泡圖表示三維數(shù)據(jù)
泡泡的坐標(biāo)2維,泡泡的大小三維,使用到的函數(shù)
plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5, edgecolors = C, facecolors='None')
其中P[:,0], P[:,1]為泡泡的坐標(biāo)數(shù)據(jù),s為泡泡的大小,lw為泡泡的邊線寬度,edgecolors為邊線顏色,facecolors為填充顏色
代碼及注釋
# -*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt fig = plt.figure(figsize=(9,6)) # 泡泡的數(shù)量 n = 50 size_min = 50 size_max = 50*50 # Ring position,rand可以產(chǎn)生2維數(shù)組 P = np.random.rand(n,2) # Ring colors R,G,B,A C = np.ones((n,4)) * (0,0,0,1) # Alpha color channel goes from 0 (transparent) to 1 (opaque) C[:,3] = np.linspace(0,1,n) # Ring sizes S = np.linspace(size_min, size_max, n) # Scatter plot plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5, edgecolors = C, facecolors='None') #range只能排列出整數(shù),在排列小數(shù)時可以用到np.arange plt.xlim(0,1), plt.xticks(np.arange(0,1.1,0.1)) plt.ylim(0,1), plt.yticks(np.arange(0,1.1,0.1)) plt.show()
運行結(jié)果:
三維螺旋線圖
需要導(dǎo)入三維工具mplot3d
from mpl_toolkits.mplot3d import Axes3D
導(dǎo)入了這個工具后才能在add_subplot時添加參數(shù)
projection='3d'
完整代碼及注釋
# -*- coding:utf-8 -*- from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as plt from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei'] #防止中文亂碼 fig = plt.figure(figsize=(9,6)) #添加參數(shù)projection ax = fig.add_subplot(111,projection='3d') z = np.linspace(0, 6, 1000) r = 1 x = r * np.sin(np.pi*2*z) y = r * np.cos(np.pi*2*z) #c是顏色 ax.plot(x, y, z, label=u'螺旋線', c='r') ax.legend() #存成圖片,支持png格式 # dpi每英寸長度的點數(shù),畫出的三維圖是矢量圖,可以設(shè)置保存的dpi plt.savefig('3d_fig.png',dpi=200) plt.show()
注:這里針對中文顯示問題做了處理,具體可以參考《Python使用matplotlib繪圖無法顯示中文問題的解決方法》。
參考網(wǎng)站:
https://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html
https://matplotlib.org/gallery.html
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python+mysql實現(xiàn)個人論文管理系統(tǒng)
這篇文章主要為大家詳細介紹了python+mysql實現(xiàn)個人論文管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-10-10Python標(biāo)準(zhǔn)庫json模塊和pickle模塊使用詳解
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫json模塊和pickle模塊使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03python實現(xiàn)模擬器爬取抖音評論數(shù)據(jù)的示例代碼
這篇文章主要介紹了python實現(xiàn)模擬器爬取抖音評論數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01關(guān)于TensorFlow、Keras、Python版本匹配一覽表
這篇文章主要介紹了關(guān)于TensorFlow、Keras、Python版本匹配一覽表,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03