본문 바로가기
지속가능티끌/Python

plotly . 다이아그램 그리기

by i.got.it 2024. 8. 24.

 

 

 

 

 

원 여러개 그리고 라인으로 연결 예

 

import plotly.graph_objects as go
# 네트워크 구조 정의
layers = {
'Input Layer': [(0.2, 0.8), (0.2, 0.6), (0.2, 0.4), (0.2, 0.2)],
'Hidden Layer': [(0.5, 0.8), (0.5, 0.6), (0.5, 0.4), (0.5, 0.2)],
'Output Layer': [(0.8, 0.6), (0.8, 0.4)]
}
# Plotly Figure 생성
fig = go.Figure()
# FCNN 연결 그리기
for (layer1, layer2) in zip(layers.values(), list(layers.values())[1:]):
for (x1, y1) in layer1:
for (x2, y2) in layer2:
fig.add_trace(go.Scatter(
x=[x1, x2],
y=[y1, y2],
mode='lines',
line=dict(color='blue', width=2),
showlegend=False
))
# 뉴런 위치에 원 그리기
colors = {'Input Layer': 'red', 'Hidden Layer': 'green', 'Output Layer': 'blue'}
for layer_name, neurons in layers.items():
for (x, y) in neurons:
fig.add_trace(go.Scatter(
x=[x],
y=[y],
mode='markers+text',
marker=dict(size=12, color=colors[layer_name]),
text=[layer_name],
textposition='top center',
showlegend=False
))
# 레이아웃 설정
fig.update_layout(
title='Fully Connected Neural Network (FCNN) Diagram',
xaxis=dict(
range=[0, 1],
showgrid=False,
zeroline=False,
showticklabels=False
),
yaxis=dict(
range=[0, 1],
showgrid=False,
zeroline=False,
showticklabels=False
),
showlegend=False
)
# 결과 표시
fig.show()

 

 

실행 결과 

- 웹브라우저 실행되면서 아래처럼 표현됨. 

 

 

 


첫 등록 : 2024.08.24

최종 수정 : 

단축 주소 : https://igotit.tistory.com/5774


 



비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5