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

詳解Python中四種關系圖數據可視化的效果對比

 更新時間:2022年11月28日 16:15:39   作者:Sir 老王  
python關系圖的可視化主要就是用來分析一堆數據中,每一條數據的節(jié)點之間的連接關系從而更好的分析出人物或其他場景中存在的關聯關系。本文將制作四個不同的關系圖的可視化效果,感興趣的可以了解一下

python關系圖的可視化主要就是用來分析一堆數據中,每一條數據的節(jié)點之間的連接關系從而更好的分析出人物或其他場景中存在的關聯關系。

這里使用的是networkx的python非標準庫來測試效果展示,通過模擬出一組DataFrame數據實現四種關系圖可視化。

其余還包含了pandas的數據分析模塊以及matplotlib的畫圖模塊。

若是沒有安裝這三個相關的非標準庫使用pip的方式安裝一下即可。

pip?install?pandas?-i?https://pypi.tuna.tsinghua.edu.cn/simple/

pip?install?matplotlib?-i?https://pypi.tuna.tsinghua.edu.cn/simple/

pip?install?networkx?-i?https://pypi.tuna.tsinghua.edu.cn/simple/

分別將使用到的python模塊導入到我們的代碼塊中,就可以開始開發(fā)了。

#?Importing?the?matplotlib.pyplot?module?as?plt.
import?matplotlib.pyplot?as?plt

#?Importing?the?pandas?module?and?giving?it?the?alias?pd.
import?pandas?as?pd

這里為了避免中文亂碼的情況,分別對字體和編碼進行了統(tǒng)一化的設置處理。

plt.rcParams["font.sans-serif"]?=?["SimHei"]
plt.rcParams["axes.unicode_minus"]?=?False

#?Importing?the?networkx?module?and?giving?it?the?alias?nx.
import?networkx?as?nx

這里我們采用了有向圖的模式來進行演示,有向圖也是在生產過程中最常用的一種可視化模式。

G?=?nx.DiGraph()?#?創(chuàng)建有向圖

初始化一個DataFrame數據對象作為關系圖生成的數據來源。

data_frame?=?pd.DataFrame(
????{
????????'A':?['1',?'2',?'3',?'4',?'5',?'6'],
????????'B':?['a',?'b',?'c',?'d',?'e',?'f'],
????????'C':?[1,?2,?3,?4,?5,?6]
????}
)

1、隨機分布模型

使用隨機分布模型的生成規(guī)則時,生成的數據節(jié)點會采用隨機的方式進行展示,生成的數據節(jié)點之間相對比較分散更容易觀察數據節(jié)點之間的關系指向。

for?i,?row?in?data_frame.iterrows():
????G.add_edge(row['A'],?row['B'],?weight=row['C'])

pos?=?nx.random_layout(G)

nx.draw(G,?pos,?with_labels=True,?alpha=0.7)

labels?=?nx.get_edge_attributes(G,?'weight')

nx.draw_networkx_edge_labels(G,?pos,?edge_labels=labels)

plt.axis('equal')

plt.show()

通過matplotlib展示出圖形效果如下,并且默認已經添加了數據權重。

2、放射數據模型

放射狀數據模型,顧名思義就是以一個數據節(jié)點為中心向周邊以發(fā)散狀的模式進行分布,使用數據節(jié)點指向多個節(jié)點的可視化展示。

缺點是如果數據不夠規(guī)范的情況下會展示成一團亂麻的情況,需要經過特殊的可視化處理。

使用方法這里直接將上述隨機分布模型的pos模型直接替換成下面的放射狀數據模型即可。

pos?=?nx.spring_layout(G,?seed=4000,?k=2)

3、其他模型

其余兩種方式使用同樣的方式將隨機分布模型中pos模型進行替換即可實現,這里分別展示以下實現效果。

特征值向量模型

pos?=?nx.spectral_layout(G)

圖形邊緣化分布模型

pos?=?nx.shell_layout(G)

到此這篇關于詳解Python中四種關系圖數據可視化的效果對比的文章就介紹到這了,更多相關Python關系圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 使用python實現strcmp函數功能示例

    使用python實現strcmp函數功能示例

    這篇文章主要介紹了使用python實現strcmp函數功能的示例,需要的朋友可以參考下
    2014-03-03
  • python?argparse的使用步驟(全網最全)

    python?argparse的使用步驟(全網最全)

    argparse是python的一個命令行參數解析包,在代碼需要頻繁修改參數時,方便使用,主要用法就是在命令行輸入自己想要修改的參數,這篇文章主要介紹了python?argparse的使用步驟(全網最全),需要的朋友可以參考下
    2023-04-04
  • python如何將多個模型的ROC曲線繪制在一張圖(含圖例)

    python如何將多個模型的ROC曲線繪制在一張圖(含圖例)

    這篇文章主要給大家介紹了關于python如何將多個模型的ROC曲線繪制在一張圖的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-02-02
  • pyinstaller生成的exe文件啟動時間漫長的原因

    pyinstaller生成的exe文件啟動時間漫長的原因

    本文主要介紹了pyinstaller生成的exe文件啟動時間漫長的原因,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • Python實現的對本地host127.0.0.1主機進行掃描端口功能示例

    Python實現的對本地host127.0.0.1主機進行掃描端口功能示例

    這篇文章主要介紹了Python實現的對本地host127.0.0.1主機進行掃描端口功能,可實現掃描本機開放端口的功能,涉及Python socket模塊與Thread多線程模塊相關使用技巧,需要的朋友可以參考下
    2019-02-02
  • 詳解Pandas如何高效對比處理DataFrame的兩列數據

    詳解Pandas如何高效對比處理DataFrame的兩列數據

    我們在用?pandas?處理數據的時候,經常會遇到用其中一列數據替換另一列數據的場景。這一類的需求估計很多人都遇到,當然還有其它更復雜的。解決這類需求的辦法有很多,這里我們來推薦幾個
    2022-09-09
  • Python 腳本實現淘寶準點秒殺功能

    Python 腳本實現淘寶準點秒殺功能

    這篇文章主要介紹了python實現淘寶準點秒殺腳本,本文圖文實例相結合給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • 基于python生成器封裝的協程類

    基于python生成器封裝的協程類

    這篇文章主要為大家詳細介紹了基于python生成器封裝的協程類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python制作動態(tài)詞頻條形圖的全過程

    Python制作動態(tài)詞頻條形圖的全過程

    說起動態(tài)圖表,最火的莫過于動態(tài)條形圖了,下面這篇文章主要給大家介紹了關于Python制作動態(tài)詞頻條形圖的全過程,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-11-11
  • python人工智能tensorflow函數np.random模塊使用

    python人工智能tensorflow函數np.random模塊使用

    這篇文章主要為大家介紹了python人工智能tensorflow函數np.random模塊使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05

最新評論