中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Python如何實現3D繪圖方式-創新互聯

創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

成都創新互聯公司專注于企業營銷型網站、網站重做改版、袁州網站定制設計、自適應品牌網站建設、H5響應式網站成都做商城網站、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為袁州等各大城市提供網站開發制作服務。

這篇文章將為大家詳細講解有關Python如何實現3D繪圖方式,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Axes3D 對象創建方法一:Axes3D(fig)

在 Matplotlib 1.0.0 版本中,繪制 3D 圖需要先導入 Axes3D 包,獲取 figure 畫布對象 fig 后,通過 Axes3D(fig) 方法來創建 Axes3D 對象,具體方法如下:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 獲取 figure 畫布并創建 Axes3D 對象
fig = plt.figure()
ax = Axes3D(fig)
# 數據坐標
z = np.linspace(0, 15, 1000)
x = np.sin(z)
y = np.cos(z)
# 繪制線性圖
ax.plot(x, y, z)
plt.show()

Axes3D 對象創建方法二:add_subplot

在 Matplotlib 3.2.0 版本中,繪制 3D 圖可以通過創建子圖,然后指定 projection 參數 為 3d 即可,返回的 ax 為 Axes3D 對象,以下兩種方法均可:

import numpy as np
import matplotlib.pyplot as plt
# 獲取 figure 畫布并通過子圖創建 Axes3D 對象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 數據坐標
z = np.linspace(0, 15, 1000)
x = np.sin(z)
y = np.cos(z)
# 繪制線性圖
ax.plot(x, y, z)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
# 通過子圖創建 Axes3D 對象
ax = plt.subplot(111, projection='3d')
# 數據坐標
z = np.linspace(0, 15, 1000)
x = np.sin(z)
y = np.cos(z)
# 繪制線性圖
ax.plot(x, y, z)
plt.show()

【01x03】Axes3D 對象創建方法三:gca

除了以上兩種方法以外,還可以先獲取畫布對象 fig,再通過 fig.gca() 方法獲取當前繪圖區(gca = Get Current Axes),然后指定 projection 參數 為 3d 即可,返回的 ax 為 Axes3D 對象。

import numpy as np
import matplotlib.pyplot as plt
# 依次獲取畫布和繪圖區并創建 Axes3D 對象
fig = plt.figure()
ax = fig.gca(projection='3d')
# 數據坐標
z = np.linspace(0, 15, 1000)
x = np.sin(z)
y = np.cos(z)
# 繪制線性圖
ax.plot(x, y, z)
plt.show()

以上三種方法運行結果均為下圖:

Python如何實現3D繪圖方式

cmap 與 colorbar

默認情況下,散點圖、線性圖、曲面圖等將以純色著色,但可以通過提供 cmap 參數支持顏色映射。cmap 參數用于設置一些特殊的顏色組合,如漸變色等。

如果使用了 cmap 參數,則可以使用 pyplot.colorbar() 函數來繪制一個色條,即顏色對照條。

基本語法:matplotlib.pyplot.colorbar([mappable=None, cax=None, ax=None, **kw])

部分參數解釋如下表,其他參數,如長度,寬度等請參考官方文檔。

參數 描述
mappable 要設置色條的圖像對象,該參數對于 Figure.colorbar 方法是必需的,但對于 pyplot.colorbar 函數是可選的
cax 可選項,要繪制色條的軸
ax可選項,設置色條的顯示位置,通常在一個畫布上有多個子圖時使用
**kw 可選項,其他關鍵字參數,參考官方文檔

3D 線性圖:Axes3D.plot

基本方法:Axes3D.plot(xs, ys[, zs, zdir='z', *args, **kwargs])

參數 描述
xs 一維數組,點的 x 軸坐標
ys 一維數組,點的 y 軸坐標
zs一維數組,可選項,點的 z 軸坐標
zdir

可選項,在 3D 軸上繪制 2D 數據時,數據必須以 xs,ys 的形式傳遞

,若此時將 zdir 設置為 ‘y’,數據將會被繪制到 x-z 軸平面上,默認為 ‘z’

**kwargs
 其他關鍵字參數,可選項,可參見 matplotlib.axes.Axes.plot
import numpy as np
import matplotlib.pyplot as plt
# 設置中文顯示
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 依次獲取畫布和繪圖區并創建 Axes3D 對象
fig = plt.figure()
ax = fig.gca(projection='3d')
# 第一條3D線性圖數據
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z1 = np.linspace(-2, 2, 100)
r = z1**2 + 1
x1 = r * np.sin(theta)
y1 = r * np.cos(theta)
# 第二條3D線性圖數據
z2 = np.linspace(-3, 3, 100)
x2 = np.sin(z2)
y2 = np.cos(z2)
# 繪制3D線性圖
ax.plot(x1, y1, z1, color='b', label='3D 線性圖一')
ax.plot(x2, y2, z2, color='r', label='3D 線性圖二')
# 設置標題、軸標簽、圖例,也可以直接使用 plt.title、plt.xlabel、plt.legend...
ax.set_title('繪制 3D 線性圖示例', pad=15, fontsize='12')
ax.set_xlabel('x 軸', color='r', fontsize='12')
ax.set_ylabel('y 軸', color='g', fontsize='12')
ax.set_zlabel('z 軸', color='b', fontsize='12')
ax.legend()
plt.show()

Python如何實現3D繪圖方式

3D 散點圖:Axes3D.scatter

基本方法:Axes3D.scatter(xs, ys[, zs=0, zdir='z', s=20, c=None, depthshade=True, *args, **kwargs])

參數 描述
xs一維數組,點的 x 軸坐標
ys一維數組,點的 y 軸坐標
zs 一維數組,可選項,點的 z 軸坐標
zdir

可選項,在 3D 軸上繪制 2D 數據時,數據必須以 xs,ys 的形式傳遞

若此時將 zdir 設置為 ‘y’,數據將會被繪制到 x-z 軸平面上,默認為 ‘z’,

標量或數組類型,可選項,標記的大小,默認 20
c

 標記的顏色,可選項,可以是單個顏色或者一個顏色列表

支持英文顏色名稱及其簡寫、十六進制顏色碼等,更多顏色示例參見官網 Color Demo

depthshadebool 值,可選項,默認 True,是否為散點標記著色以提供深度外觀
**kwargs 其他關鍵字參數,可選項,可參見 scatter
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 依次獲取畫布和繪圖區并創建 Axes3D 對象
fig = plt.figure()
ax = fig.gca(projection='3d')
n = 100
def randrange(n, vmin, vmax):
    return (vmax - vmin)*np.random.rand(n) + vmin
'''
定義繪制 n 個隨機點,設置每一組數據點的樣式和范圍
x軸數據位于[23,32]區間,y軸數據位于[0,100]區間,z軸數據位于[zlow,zhigh]區間
'''
for m, zlow, zhigh in [('o', -50, -25), ('^', -30, -5)]:
    xs = randrange(n, 23, 32)
    ys = randrange(n, 0, 100)
    zs = randrange(n, zlow, zhigh)
    ax.scatter(xs, ys, zs, marker=m)
# 設置標題、軸標簽、圖例,也可以直接使用 plt.title、plt.xlabel...
ax.set_title('繪制 3D 散點圖示例', pad=15, fontsize='12')
ax.set_xlabel('x 軸', color='b')
ax.set_ylabel('y 軸', color='b')
ax.set_zlabel('z 軸', color='b')
plt.show()

Python如何實現3D繪圖方式

3D 線框圖:Axes3D.plot_wireframe

基本方法:Axes3D.plot_wireframe(X, Y, Z[, *args, **kwargs])

參數 描述
X二維數組,x 軸數據
Y 二維數組,y 軸數據
Z 二維數組,z 軸數據
**kwargs 其他關鍵字參數,可選項,如線條樣式顏色等,可參見 Line3DCollection
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 獲取 figure 畫布并通過子圖創建 Axes3D 對象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 定義Z軸坐標的生成方法
def f(m, n):
    return np.sin(np.sqrt(m ** 2 + n ** 2))
# 設置3D線框圖數據
x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)
# 生成網格點坐標矩陣,該方法在系列文章八中有具體介紹
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
# 繪制3D線框圖
ax.plot_wireframe(X, Y, Z, color='c')
# 設置標題、軸標簽、圖例,也可以直接使用 plt.title、plt.xlabel...
ax.set_title('繪制 3D 線框圖示例', pad=15, fontsize='12')
ax.set_xlabel('x 軸')
ax.set_ylabel('y 軸')
ax.set_zlabel('z 軸')
plt.show()

Python如何實現3D繪圖方式

關于Python如何實現3D繪圖方式就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網頁題目:Python如何實現3D繪圖方式-創新互聯
本文URL:http://m.2m8n56k.cn/article28/docgcp.html

成都網站建設公司_創新互聯,為您提供網站制作虛擬主機、品牌網站設計營銷型網站建設、全網營銷推廣、網站收錄

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設
主站蜘蛛池模板: 国产成人免费在线视频 | 91精品国产手机 | 美女毛片免费 | 无码孕妇孕交在线观看 | 精品久久久中文字幕二区 | 在线中文字幕日韩 | 亚洲成av人影片在线观看 | 三级黄色片网站 | 粉嫩高中生的第一次在线观看 | 3至13呦女毛片 | 日本最色视频 | 成人a级 | 国产精品欧美激情在线播放 | 亚欧成人毛片一区二区三区四区 | 国产理论视频 | 国产精品三级国语在线看 | 亚洲99久久久久综合 | 亚洲久久在线观看 | 国产成人最新毛片基地 | 手机毛片在线 | 中文字幕精品一区二区2021年 | 韩国精品一区视频在线播放 | 国内精品久久久久久久aa护士 | 亚洲天堂免费视频 | 日韩专区亚洲国产精品 | 一级毛片不收费 | 黄色不卡视频 | 青青影院一区二区免费视频 | 日本成人免费在线视频 | 一区二区三区视频网站 | 精品免费国产一区二区三区 | 国产成人一区二区三区在线视频 | 国产三级视频网站 | 亚洲成人视 | 天海翼精品久久中文字幕 | 美国毛片亚洲社区在线观看 | 91www成人久久 | 中文字幕一区二区小泽玛利亚 | 欧美日韩色黄大片在线视频 | 久久国产经典视频 | 成年人网站在线观看免费 |