国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

?機(jī)器學(xué)習(xí)?中Python實(shí)現(xiàn)可視化三維熱力圖(地形圖)

Acceml / 3819人閱讀

由于項(xiàng)目的需要,一直苦于將多層數(shù)據(jù)集累加起來做成一個(gè)呈堆積狀的三維圖,有點(diǎn)類似于地形圖(實(shí)則熱力圖),但又不是地形圖。


背景

先說說項(xiàng)目背景,本菜雞是搞故障診斷的,所以免不了用上一些統(tǒng)計(jì)學(xué)的知識,看過之前我的Blog的都會發(fā)現(xiàn), T 2 T^2 T2 S P E SPE SPE 在故障診斷鄰域或者說是再小范圍一點(diǎn),在過程監(jiān)控鄰域,是很好用且很關(guān)鍵的兩個(gè)統(tǒng)計(jì)量,用于監(jiān)測過程中的一些有故障的檢測點(diǎn)或者區(qū)間,會有閾值限,超過閾值的則判斷為故障,反而,則為正常。具體可以看->這里

三維圖

之前嘗試過很多中方法來實(shí)現(xiàn)三維圖,但是,。。。,但是均沒實(shí)現(xiàn)完美的效果,如Echarts、Pyecharts、Plotly等等,最終還是只有用yyds<Matplotlib>,真的,沒有它解決不了的可視化問題!!!

輸入

明確一下我們的輸入,簡單來說,三維三維,不就是三個(gè)維度嘛。X、Y、Z三個(gè)方向,我們項(xiàng)目的數(shù)據(jù)是X、Y是對于多層 T 2 T^2 T2 S P E SPE SPE統(tǒng)計(jì)量的值都是對應(yīng)的,簡單來說,比如第一層的 T 2 T^2 T2值和第二層到最后一層的 T 2 T^2 T2 值所對應(yīng)的X和Y坐標(biāo)都是一個(gè)坐標(biāo),而不同層次的 T 2 T^2 T2 值,則是代表高低不同的Z軸的值,而我們需要做的就是將多層的Z按照X、Y的坐標(biāo)位置給疊加起來,我們的輸入如下。

(數(shù)據(jù)就像上面那樣,這里我們以 T 2 T^2 T2 的多層可視化為例展開吧)

那么下面我們直接開始搞可視化吧!!!

輸出

輸出最終則為我們的可視化三維圖,先不爆料,看后續(xù)。

可視化

我們用的Python來實(shí)現(xiàn)可視化。

導(dǎo)入庫

庫先給導(dǎo)入進(jìn)來:

import matplotlib.pyplot as plt    # 可視化的matplotlib庫import pandas as pd                # 數(shù)據(jù)表操作的庫from mpl_toolkits.mplot3d import Axes3D   # 三維可視化from icecream import ic            # 類似于print輸出

封裝一些Function

雖然我們的代碼不是很長,但為了代碼的規(guī)范和美觀,建議還是講其封裝為一個(gè)一個(gè)的function,這樣調(diào)用起來更方便。

  1. 讀取數(shù)據(jù)表
def loaddata(filename):    """    讀取傳入得數(shù)據(jù)表    """    dtf = pd.read_csv(filename)    # 讀取表格文件    return dtf
  1. T 2 T^2 T2 三維熱力圖
def T2_plot(df_value, df_xy):    """    繪制T2三維熱力圖      """    #獲取行列數(shù)    q1 = df_value.shape[1]  # 列數(shù)    r1 = df_value.shape[0]  # 行數(shù)    print("x_y有%r行,%r列。" % (r1, q1))    X = []    Y = []    Z = []    # 設(shè)置空數(shù)組備用    for a in range(2, q1):  # 選擇需要疊加的Value量選值范圍2~11, 應(yīng)該遍歷所有列,因?yàn)槊總€(gè)數(shù)據(jù)表的維度不一定一致,所以最大通過獲取的列傳入        for xx in range(r1 + 1):  # 循環(huán)迭代不同的層數(shù)            if xx < r1:                IIx = df_xy.iloc[xx, 0]  # 取第一列的值                IIy = df_xy.iloc[xx, 1]  # 取第二列的值                IIz = df_value.iloc[xx, a]  # 取相應(yīng)的T2或SPE的值                # 將每個(gè)坐標(biāo)軸X,y及其T2或SPE的值存入一個(gè)list中                X.append(IIx)                Y.append(IIy)                Z.append(IIz)    ic(len(Z))  # 查看Z的數(shù)量    # 開始制圖    fig = plt.figure()    ax = Axes3D(fig)    ax.set_xlabel("IX", fontsize=10, color="black")  # 設(shè)置x標(biāo)簽及其參數(shù)    ax.set_ylabel("JY", fontsize=10, color="black")  # 設(shè)置y標(biāo)簽及其參數(shù)    ax.set_zlabel("Value", fontsize=10, color="black")   # 設(shè)置z標(biāo)簽及其參數(shù)    ax.plot_trisurf(X, Y, Z, cmap=plt.get_cmap("jet"), linewidth=0.1)  # 三角表面圖    plt.show()    # 渲染3D圖顯示
  1. 主函數(shù)
# 主函數(shù)if __name__=="__main__":    # 導(dǎo)入數(shù)據(jù)表文件名    T2_name = "T2.csv"    xy_name = "x_y.csv"    # 讀取數(shù)據(jù)表    t2 = loaddata(T2_name)    xy = loaddata(xy_name)    # 制作T2三維圖    T2_plot(df_value=t2, df_xy=xy)

最終的效果圖像這樣:

換個(gè)方位再來一張:

讓我們再看看底部:

深色的地方則是有多個(gè)相近的點(diǎn)堆積到一起的,所以會在那些點(diǎn)顯得顏色很深。

來個(gè)大匯總,完整代碼

import matplotlib.pyplot as pltimport pandas as pdfrom mpl_toolkits.mplot3d import Axes3Dfrom icecream import ic# 讀取數(shù)據(jù)表def loaddata(filename):    """    讀取傳入得數(shù)據(jù)表    """    dtf = pd.read_csv(filename)    # 讀取表格文件    return dtf# T2三維熱力圖def T2_plot(df_value, df_xy):    """    繪制T2三維熱力圖  todo:完善    """    #獲取行列數(shù)    q1 = df_value.shape[1]  # 列數(shù)    r1 = df_value.shape[0]  # 行數(shù)    print("x_y有%r行,%r列。" % (r1, q1))    X = []    Y = []    Z = []    # 設(shè)置空數(shù)組備用    for a in range(2, q1):  # 選擇需要疊加的Value量選值范圍2~11, 應(yīng)該遍歷所有列,因?yàn)槊總€(gè)數(shù)據(jù)表的維度不一定一致,所以最大通過獲取的列傳入        for xx in range(r1 + 1):  # 循環(huán)迭代不同的層數(shù)            if xx < r1:                IIx = df_xy.iloc[xx, 0]  # 取第一列的值                IIy = df_xy.iloc[xx, 1]  # 取第二列的值                IIz = df_value.iloc[xx, a]  # 取相應(yīng)的T2或SPE的值                # 將每個(gè)坐標(biāo)軸X,y及其T2或SPE的值存入一個(gè)list中                X.append(IIx)                Y.append(IIy)                Z.append(IIz)    ic(len(Z))  # 查看Z的數(shù)量    # 開始制圖    fig = plt.figure()    ax = Axes3D(fig)    ax.set_xlabel("IX", fontsize=10, color="black")  # 設(shè)置x標(biāo)簽及其參數(shù)    ax.set_ylabel("JY", fontsize=10, color="black")  # 設(shè)置y標(biāo)簽及其參數(shù)    ax.set_zlabel("Value", fontsize=10, color="black")   # 設(shè)置z標(biāo)簽及其參數(shù)    ax.plot_trisurf(X, Y, Z, cmap=plt.get_cmap("jet"), linewidth=0.1)  # 三角表面圖    plt.show()    # 渲染3D圖顯示# 主函數(shù)if __name__=="__main__":    # 導(dǎo)入數(shù)據(jù)表文件名    T2_name = "T2.csv"    xy_name = "x_y.csv"    # 讀取數(shù)據(jù)表    t2 = loaddata(T2_name)    xy = loaddata(xy_name)    # 制作T2三維圖    T2_plot(df_value=t2, df_xy=xy)

?堅(jiān)持讀Paper,堅(jiān)持做筆記,堅(jiān)持學(xué)習(xí)?!!!
?To Be No.1

??

學(xué)習(xí)DeepLearning堅(jiān)持!30天計(jì)劃!!!

打卡5 /30 Day!!!


?創(chuàng)作不易?,過路能?關(guān)注收藏點(diǎn)個(gè)贊?三連就最好不過了

?( ′???` )

?


愿我有生之年,得見您君臨天下。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/120977.html

相關(guān)文章

  • 1個(gè)數(shù)據(jù)視化的「百搭套路」,從此打開新思路

    摘要:國產(chǎn)可視化庫,應(yīng)用廣泛,免費(fèi),開源。下次面對數(shù)據(jù)分析任務(wù),就可以參考可視化方法選型中的思路,根據(jù)你的需求,選擇適當(dāng)?shù)膱D表進(jìn)行可視化。 引言 針對不同的數(shù)據(jù)類型和數(shù)據(jù)...

    lx1036 評論0 收藏0
  • Python基于邏輯回歸的糖尿病視網(wǎng)膜病變檢測(數(shù)據(jù)集messidor_features.arff)

    摘要:一引言本項(xiàng)目基于邏輯回歸理論,運(yùn)用語言對數(shù)據(jù)集進(jìn)行分析,實(shí)現(xiàn)對糖尿病視網(wǎng)膜病變的檢測。可以確定這五個(gè)變量是導(dǎo)致糖尿病視網(wǎng)膜病變的主要因素。 一. 引言 本項(xiàng)目基于邏...

    Tangpj 評論0 收藏0
  • 你不知道的前端算法之力圖實(shí)現(xiàn)

    摘要:目前支持散點(diǎn)圍欄熱力網(wǎng)格聚合等方式致力于讓大數(shù)據(jù)可視化變得簡單易用。如圖表示,紅色區(qū)域表示分析要素的密度大,而藍(lán)色區(qū)域表示分析要素的密度小。實(shí)現(xiàn)熱力原理讀取每個(gè)像素的值透明度,做一個(gè)顏色映射。 本文作者:TalkingData 可視化工程師李鳳祿編輯:Aresn 歡迎加入 QQ 群參與技術(shù)討論:618308202 inMap 是一款基于 canvas 的大數(shù)據(jù)可視化庫,專注于大數(shù)據(jù)方...

    zhaochunqi 評論0 收藏0
  • 數(shù)據(jù)視化之美 -- 以Matlab、Python為工具

    摘要:在我們科研工作中,將數(shù)據(jù)完美展現(xiàn)出來尤為重要。數(shù)據(jù)可視化是以數(shù)據(jù)為視角,探索世界。我們真正想要的是數(shù)據(jù)視覺,以數(shù)據(jù)為工具,以可視化為手段,目的是描述真實(shí),探索世界。 ...

    why_rookie 評論0 收藏0
  • echarts 與 highcharts

    摘要:渲染能力采用渲染除了對使用,一般來說,更適合繪制圖形元素?cái)?shù)量非常大這一般是由數(shù)據(jù)量大導(dǎo)致的圖表如熱力圖地理坐標(biāo)系或平行坐標(biāo)系上的大規(guī)模線圖或散點(diǎn)圖等,也利于實(shí)現(xiàn)某些視覺特效如交通圖。 一.簡介 echartsecharts是百度公司前端開發(fā)的一個(gè)圖表庫,2013年發(fā)布第一版,主要采用canvas畫圖,目前版本3.8.4;完全免費(fèi); highcharthighcharts是國外的一家公司...

    王笑朝 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<