溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何用Python畫六維立體圖

發(fā)布時間:2022-01-12 16:33:49 來源:億速云 閱讀:386 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“如何用Python畫六維立體圖”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何用Python畫六維立體圖”吧!

我們的大腦通常最多能感知三維空間,超過三維就很難想象了。盡管是三維,理解起來也很費(fèi)勁,所以大多數(shù)情況下都使用二維平面。

如何用Python畫六維立體圖

來自維基百科

不過,我們?nèi)匀豢梢岳L制出多維空間,今天就來用 Python 的 plotly 庫繪制下三維到六維的圖,看看長什么樣。

數(shù)據(jù)我們使用一份來自 UCI 的真實(shí)汽車數(shù)據(jù)集,該數(shù)據(jù)集包括 205 個樣本和 26 個特征,從中選擇 6 個特征來繪制圖形:

如何用Python畫六維立體圖


 

基礎(chǔ)工作

安裝好 plotly 包:

pip install plotly
 

加載數(shù)據(jù)集(文末會提供):

import pandas as pd
data = pd.read_csv("cars.csv")
 

下面我們先繪制基礎(chǔ)的二維圖表,使用兩個 RPM 和 Speed 兩個特征即可:

繪制 2-D 圖

如何用Python畫六維立體圖  

代碼實(shí)現(xiàn)如下:

import plotly
import plotly.graph_objs as go

#繪制散點(diǎn)圖
fig1 = go.Scatter(x=data['curb-weight'],
                  y=data['price'],
                  mode='markers')

#繪制布局
mylayout = go.Layout(xaxis=dict(title="curb-weight"),
                     yaxis=dict( title="price"))

#繪圖 html
plotly.offline.plot({"data": [fig1],
                     "layout": mylayout},
                     auto_open=True)
 

保存為 html 文件打開可以生成交互界面,也可以保存為 png 圖片。

下面增加特征來繪制三維圖。

 

繪制 3-D 圖

可以使用 plotly 的 plot.Scatter3D 方法繪制三維圖:

如何用Python畫六維立體圖  

代碼實(shí)現(xiàn)如下:

fig1 = go.Scatter3d(x=data['curb-weight'],
                    y=data['horsepower'],
                    z=data['price'],
                    marker=dict(opacity=0.9,
                                reversescale=True,
                                colorscale='Blues',
                                size=5),
                    line=dict (width=0.02),
                    mode='markers')

mylayout = go.Layout(scene=dict(xaxis=dict( title="curb-weight"),
                                yaxis=dict( title="horsepower"),
                                zaxis=dict(title="price")),)

plotly.offline.plot({"data": [fig1],
                     "layout": mylayout},
                     auto_open=True,
                     filename=("3DPlot.html"))
 

如何繪制更高維度的圖呢?顯然無法通過擴(kuò)展坐標(biāo)軸的形式,不過有個小技巧就是制造一個虛擬維度,可以用不同顏色、形狀大小、形狀類別來入手。這樣就可以顯示第四個維度了。

 

繪制 4-D 圖

下面我們將第四個變量——車輛油耗(city-mpg)添加到原先的三維圖中,用顏色深淺表示,這樣就繪制出了四維圖。可以看到當(dāng)其他三個指標(biāo)(馬力、車身重量、車價(jià)格)越高時:車輛油耗是越少的。

如何用Python畫六維立體圖  
 

繪制 5-D 圖

基于這樣的思想,我們還可以通過修改圓形大小再增加一個維度——發(fā)動機(jī)尺寸(engine-size)變成五維圖:

如何用Python畫六維立體圖  

我們?nèi)匀豢梢员容^容易地地發(fā)現(xiàn):車越貴,發(fā)動機(jī)尺寸越大這樣的規(guī)律。

 

繪制 6-D 圖

接著還可以通過更改形狀的方式增加第六個維度——車門數(shù),圓形表示四車門,方形表示兩車門。通常兩個車門的都是昂貴的豪華跑車,在圖中也可以看出方形主要集中在價(jià)格比較高的區(qū)域。

如何用Python畫六維立體圖  


到此,相信大家對“如何用Python畫六維立體圖”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI