Wie platziere ich die Legende im folgenden Tikz-Diagramm an einer geeigneten Position?

Wie platziere ich die Legende im folgenden Tikz-Diagramm an einer geeigneten Position?

Ich habe den folgenden Code für ein tikzDiagramm. Anstatt alle Kanten einzeln zu beschriften, möchte ich eine Legendenbox mit ähnlichen Farben einfügen, die die Kanten darstellen. In diesem Diagramm enthält die Legendenbox folgende Elemente

1. red line for value `b` 
2. blue line for value `a`
3. black lines for value `c`. 

Wie kann ich die Standardeinstellung ändern?weißer Hintergrundvon Labels im decisionBefehl zumtransparentum zu vermeiden, dass beim Überlappen einige Teile der Kanten fehlen. Gibt es Hilfe, um den Code mithilfe anderer Befehle oder tikzpictureUmgebungen zu reduzieren?

\documentclass{standalone}
\usepackage{tikz-cd}
\tikzset{SmallNode/.style={draw,inner sep=0pt},%<- add circle here for circle nodes
every edge quotes/.style={fill=white}
}
\begin{document}
\begin{tikzpicture}
\node[SmallNode] (00) at (-0.5,1.5) {$(0,0)$};
\node[SmallNode] (0) at (-0.5,0) {$0$};
\node[SmallNode] (1) at (1,0) {$(1)$};
\node[SmallNode] (2) at (2.5,0) {$(2)$};
\node[SmallNode] (3) at (4.0,0) {$(3)$};
\node[] (4) at (4.8,0) {$\textbf{\dots}$};
\node[SmallNode] (5) at (6,0) {$(y-1)$};
\node[SmallNode] (6) at (8.0,0) {$(y)$};
\node[SmallNode] (7) at (9.9,0) {$(y+1)$};
\node[SmallNode] (8) at (11.9,0) {$(y+2)$};
\node[] (9) at (12.8,0) {$\textbf{\dots}$};
\node[SmallNode] (10) at (11.8,-3) {$(x-b-1)$};
\node[SmallNode] (11) at (8.9,-3) {$(x-b)$};
\node[SmallNode] (12) at (6.2,-3) {$(x-b+1)$};
\node[] (13) at (5.0,-3) {$\textbf{\dots}$};
\node[SmallNode] (14) at (3.8,-3) {$(x-1)$};
\node[SmallNode] (15) at (1.5,-3) {$(x)$};
\node[SmallNode] (16) at (-0.5,-3) {$(x+1)$};
\draw[->,blue] (0) edge ["a",bend left] (00) (00)edge ["a"] (0) ;
\draw[->] (1) edge ["b",bend left,auto=left] (0) (0) edge ["a"] (1);
\draw[->] (2) edge [bend left] (0) (1) edge ["a"] (2);
\draw[->] (3) edge [bend left] (0)(2) edge["a"] (3);
\draw[->] (5) edge [bend left] (0) edge ["a"] (6);
\draw[->] (6) edge [bend left] (0) edge ["a",black] (7);
\draw[->,blue] (7) edge [bend right,auto=right,"b"] (1) edge ["a",black] (8)(6) edge [bend right,"b",auto =right] (1);
\draw[->,red] (8) edge [bend right,auto=right] (2)(7) edge [bend right,auto=right,"a"] (2);
\draw[->] (10) edge ["a"] (11);
\draw[->] (11) edge ["a"] (12);
\draw[-,dashed,bend left,auto=left] (9) edge (10);
\draw[->] (14) edge ["a"] (15) edge [bend left,auto=left,"b",blue] (10);
\draw[->] (15) edge ["a"] (16) edge [bend right,auto=right,"b",blue] (11)(15) edge [bend left,auto=left,"b",blue] (10);
\draw[->,blue] (16) edge ["a",bend right,auto=right] (11);
\end{tikzpicture}
\end{document}

Antwort1

wenn ich deine Frage richtig verstanden habe, dann suchst du das hier:

Bildbeschreibung hier eingeben

da Sie nicht angegeben haben, wo die Verbindungslinien verlaufen c, und die verwendeten Beschriftungen und Farben in Ihrem MWE nicht übereinstimmen, habe ich diese Linien wahrscheinlich in der falschen Farbe gezeichnet. Für Sie sollte es jedoch kein Problem sein, dies zu korrigieren.

ich habe auch Ihren Code ein wenig aufgeräumt und kürzer gemacht:

\documentclass[margin=3mm]{standalone}
\usepackage{tikz}%{tikz-cd}
\usetikzlibrary{chains,
                fit,
                positioning}
\tikzset{
every edge quotes/.style={fill=white, fill opacity=0.8, text opacity=1,
                          font=\footnotesize}
}
\begin{document}
    \begin{tikzpicture}[
node distance = 21mm and 7mm,
  start chain = going right
                        ]
    \begin{scope}[every node/.style={draw, inner xsep=1pt, inner ysep=2pt, on chain}]
% top chain
\node   (00)    {$(0,0)$};
\node[below=of 00]  (0) {$0$};
\node   (1)     {$(1)$};
\node   (2)     {$(2)$};
\node   (3)     {$(3)$};
\node[draw=none]    (4) {$\textbf{\dots}$};
\node   (5)     {$(y{-}1)$};
\node   (6)     {$(y)$};
\node   (7)     {$(y{+}1)$};
\node   (8)     {$(y{+}2)$};
\node[draw=none]    (9) {$\textbf{\dots}$};
% bottom chain
\node[below=of 0]   (16)    {$(x+1)$};
\node   (15)    {$(x)$};
\node   (14)    {$(x{-1})$};
\node[draw=none]    (13)    {$\textbf{\dots}$};
\node   (12)    {$(x{-}b{+}1)$};
\node   (11)    {$(x{-}b)$};
\node   (10)    {$(x{-}b{-}1)$};
    \end{scope}
% legend
\coordinate[below=1mm of 00.south -| 7]  (L);
\draw[blue] (L) -- + (1,0)               node[right] {a};
\draw[red]  ([yshift=-3mm] L) -- + (1,0) node[right] {b};
\draw       ([yshift=-6mm] L) -- + (1,0) node[right] (LL)  {c};
\node[draw, yshift=0.5ex, fit=(L) (LL)] {};
% connections
%  a
\draw[->,blue]  (0)     edge [bend left]    (00)
                (00)    edge                (0)
                (6)     edge [bend right]   (1)
                (7)     edge [bend right]   (1)
% botttom
                (14)    edge [bend left]    (10)
                (15)    edge [bend left]    (10)
                (15)    edge [bend right]   (11)
                (16)    edge [bend right]   (11);
% b
\draw[->,red]   (7)     edge [bend right]   (2)
                (8)     edge [bend right]   (2);
% c
\foreach \i in {1,2,3, 6,7,8, 11,12, 15,16}
{
\pgfmathsetmacro{\ii}{int(\i-1)}
\draw[->]   (\ii) -- (\i);
}
%
\draw[-,dashed] (9) edge [bend left] (10);
    \end{tikzpicture}
\end{document}

verwandte Informationen