最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python三維繪圖之Matplotlib庫的使用方法

 更新時(shí)間:2020年09月20日 16:24:51   作者:hitrjj  
這篇文章主要給大家介紹了關(guān)于Python三維繪圖之Matplotlib庫的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

在遇到三維數(shù)據(jù)時(shí),三維圖像能給我們對數(shù)據(jù)帶來更加深入地理解。python的matplotlib庫就包含了豐富的三維繪圖工具。

1.創(chuàng)建三維坐標(biāo)軸對象Axes3D

創(chuàng)建Axes3D主要有兩種方式,一種是利用關(guān)鍵字projection='3d'l來實(shí)現(xiàn),另一種則是通過從mpl_toolkits.mplot3d導(dǎo)入對象Axes3D來實(shí)現(xiàn),目的都是生成具有三維格式的對象Axes3D.

#方法一,利用關(guān)鍵字
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

#定義坐標(biāo)軸
fig = plt.figure()
ax1 = plt.axes(projection='3d')
#ax = fig.add_subplot(111,projection='3d') #這種方法也可以畫多個(gè)子圖


#方法二,利用三維軸方法
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

#定義圖像和三維格式坐標(biāo)軸
fig=plt.figure()
ax2 = Axes3D(fig)

2.三維曲線和散點(diǎn)

隨后在定義的坐標(biāo)軸上畫圖:

import numpy as np
z = np.linspace(0,13,1000)
x = 5*np.sin(z)
y = 5*np.cos(z)
zd = 13*np.random.random(100)
xd = 5*np.sin(zd)
yd = 5*np.cos(zd)
ax1.scatter3D(xd,yd,zd, cmap='Blues') #繪制散點(diǎn)圖
ax1.plot3D(x,y,z,'gray') #繪制空間曲線
plt.show()

在這里插入圖片描述

3.三維曲面

下一步畫三維曲面

fig = plt.figure() #定義新的三維坐標(biāo)軸
ax3 = plt.axes(projection='3d')

#定義三維數(shù)據(jù)
xx = np.arange(-5,5,0.5)
yy = np.arange(-5,5,0.5)
X, Y = np.meshgrid(xx, yy)
Z = np.sin(X)+np.cos(Y)


#作圖
ax3.plot_surface(X,Y,Z,cmap='rainbow')
#ax3.contour(X,Y,Z, zdim='z',offset=-2,cmap='rainbow) #等高線圖,要設(shè)置offset,為Z的最小值
plt.show()

在這里插入圖片描述

如果加入渲染時(shí)的步長,會(huì)得到更加清晰細(xì)膩的圖像:
ax3.plot_surface(X,Y,Z,rstride = 1, cstride = 1,cmap='rainbow'),其中的row和cloum_stride為橫豎方向的繪圖采樣步長,越小繪圖越精細(xì)。

在這里插入圖片描述

4.等高線

同時(shí)還可以將等高線投影到不同的面上:

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

#定義坐標(biāo)軸
fig4 = plt.figure()
ax4 = plt.axes(projection='3d')

#生成三維數(shù)據(jù)
xx = np.arange(-5,5,0.1)
yy = np.arange(-5,5,0.1)
X, Y = np.meshgrid(xx, yy)
Z = np.sin(np.sqrt(X**2+Y**2))

#作圖
ax4.plot_surface(X,Y,Z,alpha=0.3,cmap='winter')   #生成表面, alpha 用于控制透明度
ax4.contour(X,Y,Z,zdir='z', offset=-3,cmap="rainbow") #生成z方向投影,投到x-y平面
ax4.contour(X,Y,Z,zdir='x', offset=-6,cmap="rainbow") #生成x方向投影,投到y(tǒng)-z平面
ax4.contour(X,Y,Z,zdir='y', offset=6,cmap="rainbow")  #生成y方向投影,投到x-z平面
#ax4.contourf(X,Y,Z,zdir='y', offset=6,cmap="rainbow")  #生成y方向投影填充,投到x-z平面,contourf()函數(shù)

#設(shè)定顯示范圍
ax4.set_xlabel('X')
ax4.set_xlim(-6, 4) #拉開坐標(biāo)軸范圍顯示投影
ax4.set_ylabel('Y')
ax4.set_ylim(-4, 6)
ax4.set_zlabel('Z')
ax4.set_zlim(-3, 3)

plt.show()

在這里插入圖片描述在這里插入圖片描述

5.隨機(jī)散點(diǎn)圖

可以利用scatter()生成各種不同大小,顏色的散點(diǎn)圖,其參數(shù)如下:

#函數(shù)定義
matplotlib.pyplot.scatter(x, y, 
	s=None,  #散點(diǎn)的大小 array scalar
	c=None,  #顏色序列  array、sequency
	marker=None,  #點(diǎn)的樣式
	cmap=None,  #colormap 顏色樣式
	norm=None,  #歸一化 歸一化的顏色camp
	vmin=None, vmax=None,  #對應(yīng)上面的歸一化范圍
 	alpha=None,   #透明度
	linewidths=None,  #線寬
	verts=None,  #
	edgecolors=None, #邊緣顏色
	data=None, 
	**kwargs
	)
#ref:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.scatter.html
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

#定義坐標(biāo)軸
fig4 = plt.figure()
ax4 = plt.axes(projection='3d')

#生成三維數(shù)據(jù)
xx = np.random.random(20)*10-5  #取100個(gè)隨機(jī)數(shù),范圍在5~5之間
yy = np.random.random(20)*10-5
X, Y = np.meshgrid(xx, yy)
Z = np.sin(np.sqrt(X**2+Y**2))

#作圖
ax4.scatter(X,Y,Z,alpha=0.3,c=np.random.random(400),s=np.random.randint(10,20, size=(20, 40)))   #生成散點(diǎn).利用c控制顏色序列,s控制大小

#設(shè)定顯示范圍

plt.show()

在這里插入圖片描述

Finish

Todo bar

總結(jié)

到此這篇關(guān)于Python三維繪圖之Matplotlib庫使用的文章就介紹到這了,更多相關(guān)Python三維繪圖Matplotlib庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python如何查找特定名稱文件

    Python如何查找特定名稱文件

    這篇文章主要介紹了Python如何查找特定名稱文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python去掉行尾的換行符方法

    python去掉行尾的換行符方法

    下面小編就為大家?guī)硪黄猵ython去掉行尾的換行符方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • Python魔法方法功能與用法簡介

    Python魔法方法功能與用法簡介

    這篇文章主要介紹了Python魔法方法功能與用法,結(jié)合具體實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中魔法方法的概念、功能、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • python實(shí)現(xiàn)簡單多人聊天室

    python實(shí)現(xiàn)簡單多人聊天室

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡單多人聊天室功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python簡單生成隨機(jī)數(shù)的方法示例

    Python簡單生成隨機(jī)數(shù)的方法示例

    這篇文章主要介紹了Python簡單生成隨機(jī)數(shù)的方法,結(jié)合實(shí)例形式分析了Python基于random模塊生成隨機(jī)數(shù)的相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • PyTorch實(shí)現(xiàn)MNIST數(shù)據(jù)集手寫數(shù)字識(shí)別詳情

    PyTorch實(shí)現(xiàn)MNIST數(shù)據(jù)集手寫數(shù)字識(shí)別詳情

    這篇文章主要介紹了PyTorch實(shí)現(xiàn)MNIST數(shù)據(jù)集手寫數(shù)字識(shí)別詳情,文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-09-09
  • python中的多進(jìn)程的創(chuàng)建與啟動(dòng)方式

    python中的多進(jìn)程的創(chuàng)建與啟動(dòng)方式

    這篇文章主要介紹了python中的多進(jìn)程的創(chuàng)建與啟動(dòng),python中的并發(fā)有三種形式,多進(jìn)程、多線程、協(xié)程,執(zhí)?并發(fā)任務(wù)的?的是為了提?程序運(yùn)?的效率,本文通過實(shí)例代碼詳細(xì)講解需要的朋友可以參考下
    2022-12-12
  • 解讀Python中degrees()方法的使用

    解讀Python中degrees()方法的使用

    這篇文章主要介紹了Python中degrees()方法的使用,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • python的三種等待方式及優(yōu)缺點(diǎn)小結(jié)

    python的三種等待方式及優(yōu)缺點(diǎn)小結(jié)

    這篇文章主要介紹了python的三種等待方式及優(yōu)缺點(diǎn)的相關(guān)資料,三種等待元素加載的方法分別是強(qiáng)制等待、隱式等待和顯式等待,并詳細(xì)比較了它們的優(yōu)缺點(diǎn),需要的朋友可以參考下
    2024-12-12
  • 編程語言Python的發(fā)展史

    編程語言Python的發(fā)展史

    這篇文章主要介紹了編程語言Python的發(fā)展史,本文詳細(xì)介紹了Python語言的發(fā)展歷史,需要的朋友可以參考下
    2014-09-09

最新評論

法库县| 铁岭市| 阳原县| 文化| 马龙县| 通辽市| 永康市| 义乌市| 宁明县| 阿克苏市| 连山| 西盟| 湘潭市| 中卫市| 舞钢市| 东阳市| 当阳市| 淄博市| 慈溪市| 景洪市| 当阳市| 呼图壁县| 平潭县| 甘孜县| 游戏| 孟连| 海伦市| 麻江县| 唐山市| 吉木萨尔县| 微山县| 兴和县| 观塘区| 临朐县| 惠来县| 兴城市| 如东县| 麻城市| 新昌县| 辽源市| 讷河市|