欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

matplotlib一維散點分布圖的實現(xiàn)

 更新時間:2023年03月10日 09:52:40   作者:夜半罟霖  
本文主要介紹了matplotlib一維散點分布圖的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

引言

本次的目標是繪制數(shù)據(jù)的一維散點分布圖,應用場景是數(shù)據(jù)一維標簽的聚類可視化,假定我們擁有原始的帶標簽數(shù)據(jù) ( X , y ) (X,y) (X,y)其中 X X X為樣本特征矩陣, y y y為對應樣本的標簽(連續(xù)值),通過聚類算法得到了 X X X的偽分類標簽 y ^ , y ^ ∈ ( 1 , 2 , . . . , N ) \hat{y}, \hat{y}\in(1,2,...,N) y^?,y^?∈(1,2,...,N),想要繪制出相同類別樣本在標簽值是否同樣是集中的。
值得注意的是,由于我們可能獲得多類樣本,因此僅僅使用一張圖來進行繪制可能會使得不同類別樣本的marker在圖上相互重疊,因此需要為每一類樣本單獨繪制一維散點分布圖,并在同一張畫布上顯示。

方法

為了顯示一維的單張散點分布圖,我們需要對matplotlib默認的二維畫布進行調(diào)整,將其余三條軸線都設(shè)置為不可見,只保留底部的軸線,進一步的,要把縱軸label的位置向圖左端移動(否則在橫軸包括負半軸時,label會出現(xiàn)在圖中央),實例代碼如下:

axs.spines['top'].set_visible(False)
axs.spines['right'].set_visible(False)
axs.spines['left'].set_visible(False)
axs.yaxis.set_ticks_position('left')
axs.set_xlim((-0.05,1.05))
axs.set_ylim((0,1))
axs.set_yticks([0],labels=['score'])

對于多張一維散點圖的繪制,只需要利用subplot函數(shù),對子圖重復進行上述操作即可。整體代碼如下:

def score_distr(group,x_lim=(-0.1,1.1),y_lim=(-0.1,1.1)):
    '''
    可視化N個類別中每個樣本的y分布
    :param group: List[np.ndarray], N類樣本標簽y組成的數(shù)組
    :param x_lim: 橫坐標區(qū)間
    :param y_lim: 縱坐標區(qū)間
    :return:
    '''
    group_num=len(group)
    color_map=["violet","tomato","cyan","salmon","limegreen"]
    fig,axs=plt.subplots(group_num,1)
    dem_labels=[]
    for i in range(group_num):
        axs[i].scatter(group[i],[0.05]*group[i].shape[0],label="class_"+str(i),c=color_map[i])
        # axs[i].xlim(x_lim)
        dem_labels.append("class_"+str(i))
        axs[i].spines['top'].set_visible(False)
        axs[i].spines['right'].set_visible(False)
        axs[i].spines['left'].set_visible(False)
        axs[i].yaxis.set_ticks_position('left')
        axs[i].set_xlim(x_lim)
        axs[i].set_ylim(y_lim)
        axs[i].set_yticks([0],labels=['score'])
    fig.legend(dem_labels,loc=(0.45,0.85))

測試結(jié)果

給出示例代碼及對應結(jié)果如下:

test=[]
for i in range(3):
    test.append(np.random.rand(15))
score_distr(test,x_lim=(-1.05,1.05))

結(jié)果:

在這里插入圖片描述

參考

可視化: Python—MatPlotLib—一維散點圖

到此這篇關(guān)于matplotlib一維散點分布圖的實現(xiàn)的文章就介紹到這了,更多相關(guān)matplotlib一維散點分布圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 格式化打印json數(shù)據(jù)方法(展開狀態(tài))

    Python 格式化打印json數(shù)據(jù)方法(展開狀態(tài))

    今天小編就為大家分享一篇Python 格式化打印json數(shù)據(jù)方法(展開狀態(tài)),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 實操Python爬取覓知網(wǎng)素材圖片示例

    實操Python爬取覓知網(wǎng)素材圖片示例

    大家好,本篇文章介紹的是實操Python爬取覓知網(wǎng)素材圖片示例,感興趣的朋友趕快來看一看吧,對你有用的話記得收藏起來,方便下次瀏覽
    2021-11-11
  • 通過PHP與Python代碼對比的語法差異詳解

    通過PHP與Python代碼對比的語法差異詳解

    這篇文章主要介紹了通過PHP與Python代碼對比淺析語法差異,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python中實現(xiàn)地圖可視化的方法小結(jié)

    Python中實現(xiàn)地圖可視化的方法小結(jié)

    Python提供了多個強大的庫,如Folium、Matplotlib、Geopandas等,使得創(chuàng)建漂亮而具有信息量的地圖變得簡單而靈活,本文將詳細介紹如何使用這些庫繪制漂亮的地圖,感興趣的可以了解下
    2023-12-12
  • Python-OpenCV中的cv2.inpaint()函數(shù)的使用

    Python-OpenCV中的cv2.inpaint()函數(shù)的使用

    大多數(shù)人會在家里放一些舊的退化照片,上面有一些黑點,一些筆畫等。你有沒有想過恢復它?本文就來介紹一下方法,感興趣的可以了解一下
    2021-06-06
  • pandas的qcut()方法詳解

    pandas的qcut()方法詳解

    這篇文章主要介紹了pandas的qcut()方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python實現(xiàn)計算AUC的示例代碼

    Python實現(xiàn)計算AUC的示例代碼

    AUC(Area?under?curve)是機器學習常用的二分類評測手段,直接含義是ROC曲線下的面積。本文將利用Python語言實現(xiàn)計算AUC,感興趣的可以學習一下
    2022-07-07
  • python實現(xiàn)的簡單FTP上傳下載文件實例

    python實現(xiàn)的簡單FTP上傳下載文件實例

    這篇文章主要介紹了python實現(xiàn)的簡單FTP上傳下載文件的方法,實例分析了Python基于FTP模塊實現(xiàn)文件傳輸?shù)募记?需要的朋友可以參考下
    2015-06-06
  • python數(shù)據(jù)處理之如何選取csv文件中某幾行的數(shù)據(jù)

    python數(shù)據(jù)處理之如何選取csv文件中某幾行的數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)處理之如何選取csv文件中某幾行的數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • Python3讀取文件常用方法實例分析

    Python3讀取文件常用方法實例分析

    這篇文章主要介紹了Python3讀取文件常用方法,以實例形式較為詳細的分析了Python一次性讀取、逐行讀取及讀取文件一部分的實現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05

最新評論