Python調(diào)用graphviz繪制結(jié)構(gòu)化圖形網(wǎng)絡(luò)示例
首先要下載:Graphviz - Graph Visualization Software
安裝完成后將安裝目錄的bin 路徑加到系統(tǒng)路徑中,有時(shí)候需要重啟電腦。
然后:
pip install graphviz import graphviz as gz
有向圖
dot = gz.Digraph()
dot.node('1', 'Test1')
dot.node('2', 'Test2')
dot.node('3', 'Test3')
dot.node('4', 'Test4')
dot.edges(['12', '23', '34', '24'])
dot

無(wú)向圖
dot = gz.Graph()
dot.node('1', 'Test1')
dot.node('2', 'Test2')
dot.node('3', 'Test3')
dot.node('4', 'Test4')
dot.edges(['12', '23', '34', '24'])
dot

來(lái)個(gè)隨機(jī)點(diǎn)的復(fù)雜點(diǎn)的圖
import random
dot = gz.Digraph()
for i in range(10):
dot.node('%s' % i, 'Test%s' % i)
dot.edges([str(random.randint(10, 99)) for i in range(10)])
dot

繪制神經(jīng)網(wǎng)絡(luò)簡(jiǎn)易圖
def neural_graph(inp=3, hide=(10, ), outp=3, inp_label='input', hide_label='hide', outp_label='output', dropout=True, style='h', size='2, 1'):
"""
繪制簡(jiǎn)易神經(jīng)網(wǎng)絡(luò)圖(有向圖)
:param inp: 輸入神經(jīng)元個(gè)數(shù)
:param hide: 隱藏層神經(jīng)元個(gè)數(shù), 可迭代數(shù)組
:param outp: 輸出神經(jīng)元個(gè)數(shù)
:param inp_label: 輸入名稱顯示
:param hide_label: 隱藏層名稱顯示
:param outp_label: 輸出名稱顯示
:param dropout: 是否全連接
:param style: 水平或垂直顯示, 可選項(xiàng)為 'h', 'v'
:param size: 圖像顯示大小
:return: 有向圖
"""
dot = gz.Digraph(name='neural network')
dot.attr(size=size)
if style == 'v':
dot.attr(rankdir='LR')
def draw(enter, exit, label1, label2):
for i in range(enter):
for j in range(exit):
if dropout:
if random.randint(0, max(enter, exit)):
dot.edge('%s%s' % (label1, i), '%s%s' % (label2, j))
else:
dot.edge('%s%s' % (label1, i), '%s%s' % (label2, j))
hide = list(hide)
hide.insert(0, inp)
hide.append(outp)
for index, (i, j) in enumerate(zip(hide[:-1], hide[1:])):
if index == 0:
draw(i, j, inp_label, hide_label+str(index))
elif index == len(hide) - 2:
draw(i, j, hide_label+str(index-1), outp_label)
else:
draw(i, j, hide_label+str(index-1), hide_label+str(index))
return dot
#其他運(yùn)行方式
#return dot.view()






以上這篇Python調(diào)用graphviz繪制結(jié)構(gòu)化圖形網(wǎng)絡(luò)示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python?函數(shù)參數(shù)11個(gè)案例分享
大家好,今天給大家分享一下明哥整理的一篇?Python?參數(shù)的內(nèi)容,內(nèi)容非常的干,全文通過(guò)案例的形式來(lái)理解知識(shí)點(diǎn),自認(rèn)為比網(wǎng)上?80%?的文章講的都要明白,如果你是入門不久的?python?新手,相信本篇文章應(yīng)該對(duì)你會(huì)有不小的幫助,需要的朋友可以參考下2023-02-02
淺談Scrapy框架普通反爬蟲機(jī)制的應(yīng)對(duì)策略
這篇文章主要介紹了淺談Scrapy框架普通反爬蟲機(jī)制的應(yīng)對(duì)策略,具有一定借鑒價(jià)值,需要的朋友可以參考下2017-12-12
對(duì)python中array.sum(axis=?)的用法介紹
今天小編就為大家分享一篇對(duì)python中array.sum(axis=?)的用法介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Python?中如何使用requests模塊發(fā)布表單數(shù)據(jù)
requests 庫(kù)是 Python 的主要方面之一,用于創(chuàng)建對(duì)已定義 URL 的 HTTP 請(qǐng)求,本篇文章介紹了 Python requests 模塊,并說(shuō)明了我們?nèi)绾问褂迷撃K在 Python 中發(fā)布表單數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧2023-06-06
一道題學(xué)會(huì)Python函數(shù)中形參和實(shí)參
在Python編程中,函數(shù)的形參和實(shí)參是函數(shù)定義和調(diào)用的重要概念,本文主要介紹了一道題學(xué)會(huì)Python函數(shù)中形參和實(shí)參,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
詳解duck typing鴨子類型程序設(shè)計(jì)與Python的實(shí)現(xiàn)示例
這篇文章主要介紹了詳解duck typing鴨子類型程序設(shè)計(jì)與Python的實(shí)現(xiàn)示例,鴨子類型特指解釋型語(yǔ)言中的一種編程風(fēng)格,需要的朋友可以參考下2016-06-06

