python slice函数画高维图_六维图见过么?Python 画出来了
我們的大腦通常最多能感知三維空間,超過三維就很難想象了。盡管是三維,理解起來也很費勁,所以大多數(shù)情況下都使用二維平面。
來自維基百科
Python資源共享群:484031800
不過,我們?nèi)匀豢梢岳L制出多維空間,今天就來用 Python 的 plotly 庫繪制下三維到六維的圖,看看長什么樣。
數(shù)據(jù)我們使用一份來自 UCI 的真實汽車數(shù)據(jù)集,該數(shù)據(jù)集包括 205 個樣本和 26 個特征,從中選擇 6 個特征來繪制圖形:
基礎工作
安裝好 plotly 包:
pipinstall plotly
加載數(shù)據(jù)集(文末會提供):
importpandasaspddata= pd.read_csv("cars.csv")
下面我們先繪制基礎的二維圖表,使用兩個 RPM 和 Speed 兩個特征即可:
繪制 2-D 圖
代碼實現(xiàn)如下:
importplotlyimportplotly.graph_objsasgo#繪制散點圖fig1= go.Scatter(x=data['curb-weight'],y=data['price'],mode='markers')#繪制布局mylayout= go.Layout(xaxis=dict(title="curb-weight"),? ? ? ? ? ? ? ? ? ? yaxis=dict( title="price"))#繪圖 htmlplotly.offline.plot({"data": [fig1],"layout": mylayout},? ? ? ? ? ? ? ? ? ? auto_open=True)
保存為 html 文件打開可以生成交互界面,也可以保存為 png 圖片。
下面增加特征來繪制三維圖。
繪制 3-D 圖
可以使用 plotly 的 plot.Scatter3D 方法繪制三維圖:
代碼實現(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"))
如何繪制更高維度的圖呢?顯然無法通過擴展坐標軸的形式,不過有個小技巧就是制造一個虛擬維度,可以用不同顏色、形狀大小、形狀類別來入手。這樣就可以顯示第四個維度了。
繪制 4-D 圖
下面我們將第四個變量——車輛油耗(city-mpg)添加到原先的三維圖中,用顏色深淺表示,這樣就繪制出了四維圖。可以看到當其他三個指標(馬力、車身重量、車價格)越高時:車輛油耗是越少的。
繪制 5-D 圖
基于這樣的思想,我們還可以通過修改圓形大小再增加一個維度——發(fā)動機尺寸(engine-size)變成五維圖:
我們?nèi)匀豢梢员容^容易地地發(fā)現(xiàn):車越貴,發(fā)動機尺寸越大這樣的規(guī)律。
繪制 6-D 圖
接著還可以通過更改形狀的方式增加第六個維度——車門數(shù),圓形表示四車門,方形表示兩車門。通常兩個車門的都是昂貴的豪華跑車,在圖中也可以看出方形主要集中在價格比較高的區(qū)域。
這樣我們就從普通的二維圖擴展到了高維圖,當然還可以繼續(xù)拓展,不過分辨起來會越來越困難。
標簽:六維圖,title,Python,出來,data,dict,plotly,維度,繪制
來源: https://blog.csdn.net/Pythoncxy/article/details/98869577
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python slice函数画高维图_六维图见过么?Python 画出来了的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3 join函数_Pytho
- 下一篇: 144Hz 高刷新率:优派 HD 27