- Questo topic ha 4 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 11 anni, 6 mesi fa da .
-
Topic
-
Ciao,sto usando questo codice, piu’ o meno copia-incollato dal web, per disegnare un grafo data la matrice di adianceza.
Mi piacerebbe aggiungere una funzione, ma non so come scriverla. In pratica vorrei poter aggiungere qualche arco entrante “dall’esterno” (quindi non connesso fra due nodi) che abbia lo stesso stile degli altri archi (compresa l’etichetta numerata a meta’).
Per capire meglio cosa voglio vedere l’ultima maldestra riga del codice 🙂
Qualcuno potrebbe aiutarmi?
grazie, ciao!
`
\documentclass[tikz]{standalone}
\usetikzlibrary{arrows}
\newcommand{\graphfromadj}[3][arc/.try]{
\foreach [count=\r] \row in {#3}{
\foreach [count=\c] \cell in \row{
\ifnum\cell>0%
\draw[arc/.try=\cell, #1,->] (#2\r) — (#2\c);
\fi
}
}
}\newcommand{\weigthgraphfromadj}[3][draw,->]{
\foreach [count=\r] \row in {#3}{
\foreach [count=\c] \cell in \row{
\if0\cell%
\else
\draw[arc/.try=\cell, #1,->] (#2\r) — node[arc label/.try=\cell]{\cell} (#2\c);
\fi
}
}
}\begin{document}
\begin{tikzpicture}[scale=5,
vertex/.style={draw,circle},
arc/.style={%
draw=blue,%!#10,%
ultra thick,>=stealth', ->},
arc label/.style={fill=white, font=\large, inner sep=1pt}
]
\foreach [count=\i] \coord in {(1,3),(3,3),(5,3),(1,1),(3,1),(5,1)}{
\node[vertex] (p\i) at \coord {\i};
}\weigthgraphfromadj[bend left=10]{p}%
{{0,2,0,0,0,0},{0,0,3,0,6,0},{0,0,0,0,0,0},{5,0,0,0,0,0},{0,0,0,6,0,0},{0,0,7,0,10,0}}\draw (-0.5,4)–(1,3); % ???????
\end{tikzpicture}
\end{document}
`
- Devi essere connesso per rispondere a questo topic.