婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > python如何用matplotlib創(chuàng)建三維圖表

python如何用matplotlib創(chuàng)建三維圖表

熱門標(biāo)簽:地圖標(biāo)注可以遠(yuǎn)程操作嗎 智能電話機(jī)器人調(diào)研 江門智能電話機(jī)器人 杭州房產(chǎn)地圖標(biāo)注 滴滴地圖標(biāo)注公司 400電話在線如何申請(qǐng) 天津塘沽區(qū)地圖標(biāo)注 如何申請(qǐng)400電話代理 甘肅高頻外呼系統(tǒng)

Matplotlib 最開始被設(shè)計(jì)為僅支持二維的圖表。到 1.0 版本發(fā)布左右,一些三維圖表的工具在二維展示的基礎(chǔ)上被創(chuàng)建了出來(lái),結(jié)果就是 Matplotlib 提供了一個(gè)方便的(同時(shí)也是有限的)的可用于三維數(shù)據(jù)可視化的一套工具。三維圖表可以使用載入mplot3d工具包來(lái)激活,這個(gè)包會(huì)隨著 Matplotlib 自動(dòng)安裝:

from mpl_toolkits import mplot3d

一旦模塊被導(dǎo)入,三維 axes 就可以像其他普通 axes 一樣通過(guò)關(guān)鍵字參數(shù)projection='3d'來(lái)創(chuàng)建:

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')
plt.show()

三維 axes 激活后,我們可以在上面繪制不同的三維圖表類型。三維圖表在 notebook 中使用交互式圖表展示會(huì)優(yōu)于使用靜態(tài)展示;回憶我們前面介紹過(guò),你可以使用%matplotlib notebook而不是%matplotlib inline來(lái)激活交互式展示模式。

三維的點(diǎn)和線

三維圖表中最基礎(chǔ)的是使用(x, y, z)坐標(biāo)定義的一根線或散點(diǎn)的集合。前面介紹過(guò)普通的二維圖表,作為類比,使用ax.plot3D和ax.scatter3D函數(shù)可以創(chuàng)建三維折線和散點(diǎn)圖。這兩個(gè)函數(shù)的簽名與二維的版本基本一致,你可以參考[簡(jiǎn)單折線圖]和[簡(jiǎn)單散點(diǎn)圖]來(lái)復(fù)習(xí)一下這部分的內(nèi)容。下面我們繪制一個(gè)三維中的三角螺旋,在線的附近在繪制一些隨機(jī)的點(diǎn):

ax = plt.axes(projection='3d')

# 三維螺旋線的數(shù)據(jù)
zline = np.linspace(0, 15, 1000)
xline = np.sin(zline)
yline = np.cos(zline)
ax.plot3D(xline, yline, zline, 'gray')

# 三維散點(diǎn)的數(shù)據(jù)
zdata = 15 * np.random.random(100)
xdata = np.sin(zdata) + 0.1 * np.random.randn(100)
ydata = np.cos(zdata) + 0.1 * np.random.randn(100)
ax.scatter3D(xdata, ydata, zdata, c=zdata, cmap='Greens');

注意默認(rèn)情況下,圖中的散點(diǎn)會(huì)有透明度的區(qū)別,用于體現(xiàn)在圖中散點(diǎn)的深度。雖然三維效果在靜態(tài)圖像中難以顯示,你可以使用交互式的視圖來(lái)獲得更佳的三維直觀效果。

三維輪廓圖

類似于我們?cè)赱密度和輪廓圖]中介紹的內(nèi)容,mplot3d也包含著能夠創(chuàng)建三維浮雕圖像的工具。就像二維的ax.contour圖表,ax.contour3D要求輸入數(shù)據(jù)的格式是二維普通網(wǎng)格上計(jì)算得到的 Z 軸的數(shù)據(jù)值。下面我們展示一個(gè)三維的正弦函數(shù)輪廓圖:

def f(x, y):
  return np.sin(np.sqrt(x ** 2 + y ** 2))

x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)

X, Y = np.meshgrid(x, y)
Z = f(X, Y)
fig = plt.figure()
ax = plt.axes(projection='3d')
ax.contour3D(X, Y, Z, 50, cmap='binary')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z');

有時(shí)候默認(rèn)的視角角度不是最理想的,在這種情況下我們可以使用view_init函數(shù)來(lái)設(shè)置水平角和方位角。在下面的例子中,我們使用的是 60° 的水平角(即以 60° 俯視 x-y 平面)和 35° 的方位角(即將 z 軸逆時(shí)針旋轉(zhuǎn) 35°):

ax.view_init(60, 35)
fig

同樣,注意到當(dāng)使用 Matplotlib 交互式展示是,這樣的旋轉(zhuǎn)可以通過(guò)鼠標(biāo)點(diǎn)擊和拖拽來(lái)實(shí)現(xiàn)。

框線圖和表面圖

使用網(wǎng)格數(shù)據(jù)生成的三維圖表還有框線圖和表面圖。這兩種圖表將網(wǎng)格數(shù)據(jù)投射到特定的三維表面,能夠使得結(jié)果圖像非常直觀和具有說(shuō)服力。下面是一個(gè)框線圖的例子:

fig = plt.figure()
ax = plt.axes(projection='3d')
ax.plot_wireframe(X, Y, Z, color='black')
ax.set_title('wireframe');

表面圖類似框線圖,區(qū)別在于每個(gè)框線構(gòu)成的多邊形都使用顏色進(jìn)行了填充。添加色圖用于填充多邊形能夠讓圖形表面展示出來(lái):

ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
        cmap='viridis', edgecolor='none')
ax.set_title('surface');

注意雖然每個(gè)顏色填充的表面都是二維的,但是表面的邊緣不需要是直線構(gòu)成的。下面的例子使用surface3D繪制了一個(gè)部分極坐標(biāo)網(wǎng)格,能夠讓我們切入到函數(shù)內(nèi)部觀察效果:

r = np.linspace(0, 6, 20)
theta = np.linspace(-0.9 * np.pi, 0.8 * np.pi, 40)
r, theta = np.meshgrid(r, theta)

X = r * np.sin(theta)
Y = r * np.cos(theta)
Z = f(X, Y)

ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
        cmap='viridis', edgecolor='none');

表面三角剖分

在一些應(yīng)用場(chǎng)合中,上面的這種均勻網(wǎng)格繪制的圖表方式太過(guò)于局限和不方便。在這些情況下,三角剖分的圖表可以派上用場(chǎng)。如果我們并不是使用笛卡爾坐標(biāo)系或極坐標(biāo)系的網(wǎng)格來(lái)繪制三維圖表,而是使用一組隨機(jī)的點(diǎn)來(lái)繪制三維圖表呢?

theta = 2 * np.pi * np.random.random(1000)
r = 6 * np.random.random(1000)
x = np.ravel(r * np.sin(theta))
y = np.ravel(r * np.cos(theta))
z = f(x, y)
ax = plt.axes(projection='3d')
ax.scatter(x, y, z, c=z, cmap='viridis', linewidth=0.5);

上圖并未形象的表示出表面情況。這種情況下我們可以使用ax.plot_trisurf函數(shù),它能首先根據(jù)我們的數(shù)據(jù)輸入找到各點(diǎn)內(nèi)在的三角函數(shù)形式,然后繪制表面(注意的是這里的 x,y,z 是一維的數(shù)組):

ax = plt.axes(projection='3d')
ax.plot_trisurf(x, y, z,
        cmap='viridis', edgecolor='none');

上圖的結(jié)果很顯然沒有使用網(wǎng)格繪制表面圖那么清晰,但是對(duì)于我們并不是使用函數(shù)構(gòu)建數(shù)據(jù)樣本(數(shù)據(jù)樣本通常來(lái)自真實(shí)世界的采樣)的情況下,這能提供很大的幫助。例如我們下面會(huì)看到,能使用這種方法繪制一條三維的莫比烏斯環(huán)。

例子:繪制莫比烏斯環(huán)

theta = np.linspace(0, 2 * np.pi, 30)
w = np.linspace(-0.25, 0.25, 8)
w, theta = np.meshgrid(w, theta)

phi = 0.5 * theta

現(xiàn)在我們已經(jīng)有了所有需要獲得三維坐標(biāo)值的參數(shù)了。我們定義  為每個(gè)坐標(biāo)點(diǎn)距離環(huán)形中間的位置,使用它來(lái)計(jì)算最終(x,y,z)  三維坐標(biāo)系的坐標(biāo)值:

# r是坐標(biāo)點(diǎn)距離環(huán)形中心的距離值
r = 1 + w * np.cos(phi)
# 利用簡(jiǎn)單的三角函數(shù)知識(shí)算得x,y,z坐標(biāo)值
x = np.ravel(r * np.cos(theta))
y = np.ravel(r * np.sin(theta))
z = np.ravel(w * np.sin(phi))

最后,為了繪制對(duì)象,我們必須保證三角剖分是正確的。實(shí)現(xiàn)這個(gè)最好的方法是在底層的參數(shù)上面實(shí)現(xiàn)三角剖分,最后讓 Matplotlib 將這個(gè)三角剖分投射到三維空間中形成莫比烏斯環(huán)。下面的代碼最終繪制圖形:

# 在底層參數(shù)的基礎(chǔ)上進(jìn)行三角剖分
from matplotlib.tri import Triangulation
tri = Triangulation(np.ravel(w), np.ravel(theta))

ax = plt.axes(projection='3d')
ax.plot_trisurf(x, y, z, triangles=tri.triangles,
        cmap='viridis', linewidths=0.2);

ax.set_xlim(-1, 1); ax.set_ylim(-1, 1); ax.set_zlim(-1, 1);

 結(jié)合這些技巧,能夠?yàn)槟闾峁┰?Matplotlib 創(chuàng)建和展現(xiàn)大量三維對(duì)象和模式的能力。

以上就是python如何用matplotlib創(chuàng)建三維圖表的詳細(xì)內(nèi)容,更多關(guān)于python用matplotlib創(chuàng)建三維圖表的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 用pip給python安裝matplotlib庫(kù)的詳細(xì)教程
  • python 利用matplotlib在3D空間中繪制平面的案例
  • python 利用matplotlib在3D空間繪制二次拋物面的案例
  • python可視化分析的實(shí)現(xiàn)(matplotlib、seaborn、ggplot2)
  • python Matplotlib基礎(chǔ)--如何添加文本和標(biāo)注
  • python使用matplotlib的savefig保存時(shí)圖片保存不完整的問(wèn)題
  • 如何利用Python matplotlib繪制雷達(dá)圖
  • Python3 用matplotlib繪制sigmoid函數(shù)的案例
  • python可視化 matplotlib畫圖使用colorbar工具自定義顏色
  • python 用Matplotlib作圖中有多個(gè)Y軸
  • python 繪圖模塊matplotlib的使用簡(jiǎn)介

標(biāo)簽:長(zhǎng)春 漢中 河池 廊坊 臨汾 重慶 東莞 德宏

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python如何用matplotlib創(chuàng)建三維圖表》,本文關(guān)鍵詞  python,如,何用,matplotlib,創(chuàng)建,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python如何用matplotlib創(chuàng)建三維圖表》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python如何用matplotlib創(chuàng)建三維圖表的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    污片在线观看一区二区| 在线不卡a资源高清| 国产欧美精品区一区二区三区| av电影在线观看不卡| 日本少妇一区二区| 国产精品久久久久桃色tv| 91麻豆精品国产91久久久资源速度| 国产成人在线观看| 欧美aⅴ一区二区三区视频| 亚洲同性gay激情无套| 国产女人aaa级久久久级 | 亚洲欧洲精品一区二区三区| 6080亚洲精品一区二区| 99久久久国产精品| 成人免费黄色大片| 高清成人在线观看| 国产精品99久久久久久宅男| 激情六月婷婷久久| 久久精品国产秦先生| 日韩精品亚洲专区| 午夜电影一区二区三区| 一区二区三区中文在线观看| 亚洲美女视频一区| 亚洲激情成人在线| 亚洲国产一二三| 婷婷综合在线观看| 美女脱光内衣内裤视频久久网站| 视频精品一区二区| 久久精品av麻豆的观看方式| 精品一区二区在线免费观看| 久久99国产乱子伦精品免费| 久久se精品一区二区| 国产一区二区日韩精品| 国产成人一区在线| 色综合久久中文字幕| 在线免费亚洲电影| 在线观看91av| 欧美精品一区二区三区久久久 | 2022国产精品视频| 久久久综合激的五月天| 国产精品丝袜久久久久久app| 国产精品视频看| 99在线热播精品免费| 国产高清精品在线| 国产色产综合产在线视频| 99久久综合国产精品| 欧美一区二区三区视频免费| 欧美一区二区福利在线| 99精品国产99久久久久久白柏| 精品视频一区二区三区免费| 国产在线播放一区二区三区| 在线看国产日韩| 成人激情视频网站| 欧美色视频在线| 国产一区二区在线观看视频| 久久国产精品无码网站| 91免费国产在线观看| 91首页免费视频| 色综合久久精品| 成人福利视频在线看| 欧美蜜桃一区二区三区| 国产色产综合色产在线视频| 国产欧美一区二区精品性 | 日韩制服丝袜先锋影音| 午夜一区二区三区在线观看| 免费成人在线影院| 日本亚洲三级在线| 色狠狠综合天天综合综合| 欧美日本一道本在线视频| 成人精品国产免费网站| 色狠狠av一区二区三区| 精品国产91乱码一区二区三区| 69久久夜色精品国产69蝌蚪网| 精品视频色一区| 91精品国产欧美一区二区18| 亚洲一二三级电影| 日本一区二区成人| 亚洲午夜电影在线| www.色精品| 久久99精品久久久久婷婷| 懂色中文一区二区在线播放| 99久久婷婷国产精品综合| 色成年激情久久综合| 在线综合亚洲欧美在线视频| 欧美日韩不卡视频| 国产欧美一区二区在线| 亚洲一级二级在线| 国产精品99久久久久久有的能看| 欧美性xxxxx极品少妇| 日韩视频国产视频| 亚洲精品视频观看| 国产一区二区三区免费看| 日本精品一区二区三区高清 | 国产91丝袜在线播放九色| 在线视频综合导航| 欧美色男人天堂| 亚洲人成人一区二区在线观看| 美女国产一区二区三区| 国产亚洲1区2区3区| 亚洲一区二区中文在线| 国产成人在线视频播放| 日韩三级在线免费观看| 亚洲伊人色欲综合网| 国产精品99久久久久| 欧美一区二区三区思思人| 亚洲私人黄色宅男| 国产丶欧美丶日本不卡视频| 日本高清不卡视频| 午夜欧美一区二区三区在线播放| 国产69精品一区二区亚洲孕妇| 欧美一区二区黄| 亚洲一级在线观看| 91黄视频在线| 亚洲精品v日韩精品| a亚洲天堂av| 国产精品毛片高清在线完整版| 久久激情综合网| 91精品国产综合久久蜜臀| 亚洲一区在线观看网站| 94色蜜桃网一区二区三区| 国产精品区一区二区三区| 国产精品一线二线三线精华| 欧美日韩国产美| 国内精品伊人久久久久av影院 | 国产福利精品一区二区| 日韩一区二区精品在线观看| 国产精品福利在线播放| 欧美中文字幕一区二区三区亚洲| 国产精品美女久久久久aⅴ国产馆| 国产河南妇女毛片精品久久久| 精品国产伦一区二区三区免费 | ...av二区三区久久精品| 豆国产96在线|亚洲| 中文字幕中文字幕一区二区| www.在线欧美| 一区二区三区欧美视频| 99re热视频精品| 美女免费视频一区二区| 日韩欧美在线123| 国产中文字幕精品| 国产精品青草综合久久久久99| 99精品视频在线观看| 亚洲香蕉伊在人在线观| 在线播放中文字幕一区| 精品一区二区三区欧美| 欧美二区乱c少妇| 色综合久久综合网欧美综合网| 亚洲成人你懂的| 精品国产乱码久久久久久夜甘婷婷| 国产一区二区毛片| 国产精品乱子久久久久| 欧美视频一区在线| 久久爱www久久做| 日韩国产欧美在线视频| 日韩精品一区二区三区视频在线观看| 国产中文字幕精品| 国产精品久久久久影院| 欧美妇女性影城| 国产福利电影一区二区三区| 精品1区2区在线观看| 在线播放/欧美激情| 国产成人欧美日韩在线电影| 一区二区三区在线免费播放| 日韩视频永久免费| 一本一道波多野结衣一区二区 | 日韩伦理免费电影| 欧美日韩精品免费观看视频| 成人av资源下载| 日韩和欧美的一区| 中文字幕视频一区| 日韩欧美国产精品| 色综合天天天天做夜夜夜夜做| 日本怡春院一区二区| 久久久久高清精品| 久久蜜桃av一区二区天堂| 在线免费观看日本欧美| 国产一区中文字幕| 亚洲午夜在线电影| 国产精品每日更新在线播放网址| 777精品伊人久久久久大香线蕉| 国产乱子伦视频一区二区三区 | 日韩精品中文字幕在线不卡尤物 | 欧美电影免费观看高清完整版在| 欧美另类高清zo欧美| 99国产精品久久久| 国产一区二区三区四| 婷婷丁香激情综合| 亚洲精品视频在线观看网站| 久久久精品日韩欧美| 日韩精品中午字幕| 国产欧美一区二区精品秋霞影院| 制服.丝袜.亚洲.中文.综合| 99久久精品久久久久久清纯| 国产在线播精品第三| 日本 国产 欧美色综合| 性久久久久久久久| 亚洲国产三级在线| 国产欧美精品一区二区三区四区| ●精品国产综合乱码久久久久| 日本一区二区久久|