Python呼叫graphviz繪製結構化圖形網路
這個repo
用來記錄一些python技巧、書籍、學習連結等,歡迎star
github地址
首先要下載:Graphviz - Graph Visualization Software
安裝完成後將安裝目錄的bin
路徑加到系統路徑中,有時候需要重啟電腦。
然後:
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
無向圖
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
來個隨機點的複雜點的圖
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
繪製神經網路簡易圖
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'):
"""
繪製簡易神經網路圖(有向圖)
:param inp: 輸入神經元個數
:param hide: 隱藏層神經元個數, 可迭代陣列
:param outp: 輸出神經元個數
:param inp_label: 輸入名稱顯示
:param hide_label: 隱藏層名稱顯示
:param outp_label: 輸出名稱顯示
:param dropout: 是否全連線
:param style: 水平或垂直顯示, 可選項為 '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
#其他執行方式
#return dot.view()
這個repo
用來記錄一些python技巧、書籍、學習連結等,歡迎star
github地址
相關文章
- Python繪製神經網路模型圖Python神經網路模型
- java:繪製圖形Java
- Graphviz 對網狀結構進行視覺化視覺化
- Python例項:僅繪製圖例而不繪製實際的圖形Python
- 使用css繪製圖形CSS
- css繪製特殊圖形CSS
- Python 用 OpenCV 繪製基本圖形系列(總)PythonOpenCV
- 標準圓形餅圖Python繪製方法Python
- 使用CreateJS繪製圖形JS
- 分段函式圖形繪製函式
- 無需程式碼繪製人工神經網路ANN模型結構圖的方法神經網路模型
- 組織結構圖是什麼?怎樣繪製結構圖?
- Shader 繪製基礎圖形
- Python資料分析入門(十七):繪製條形圖Python
- Python基本圖形繪製--模組1:turtle庫的使用Python
- Python Matplotlib繪製條形圖的全過程Python
- 如何使用Python和Plotly繪製3D圖形Python3D
- OC呼叫Charts繪製圖表--BarChartViewView
- CSS3繪製圖形圖案效果CSSS3
- 分形、分形幾何、資料視覺化、Python繪圖視覺化Python繪圖
- Golang pprof 結果使用 graphviz 圖片化顯示Golang
- HTML5繪製網路監控圖HTML
- canvas核心技術-如何繪製圖形Canvas
- MATLAB圖形繪製練習(一)Matlab
- BitmapShader繪製圓形圖片
- HTML5使用canvas繪製圖形HTMLCanvas
- OpenGL ES繪製3D圖形3D
- Excalidraw:繪製圖形的新利器
- CSS繪製各種幾何圖形形狀效果CSS
- Android 之 GPU過度繪製與圖形渲染優化AndroidGPU優化
- iOS 繪圖 - 如何繪製一個多邊形能力分佈圖iOS繪圖
- 利用 Matplotlib 繪製資料圖形(一)
- 利用 Matplotlib 繪製資料圖形(二)
- 使用Matplotlib繪製3D圖形3D
- VC++儲存繪製的圖形-1C++
- SVG動態繪製不規則圖形SVG
- 【專案實戰】---ECharts繪製環形圖Echarts
- WPF基礎:在Canvas上繪製圖形Canvas