Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Tikz: circle entlang Pfad füllen

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.10.2011
    Beiträge
    22

    Tikz: circle entlang Pfad füllen

    Hallo!

    ich habe einen Pfad, der an allen "Absetzstellen" einen dicken farbigen Punkt haben soll. Das habe ich mehr schlecht als Recht so hinbekommen:

    Code:
    \documentclass{scrartcl}
    \usepackage{tikz}
    
    \begin{document}
      \begin{tikzpicture}[radius=0.1cm]
        \draw[color=red] (0,0) circle -- (0,-1) circle -- (0,-2) circle -- (1,-2) circle -- (1,-1) circle -- (1,0) circle;
        \draw[xshift=1cm] (0,0) circle -- (0,-1) circle -- (0,-2) circle -- (1,-2) circle -- (1,-1) circle -- (1,0) circle;
      \end{tikzpicture}
    \end{document}
    Die circles habe ich leider nicht hinbekommen zu füllen, also kein Kreis, sondern ein dicker Punkt. Wenn ich statt \draw nun \fill benutze, wird der ganze Pfad mir gefüllt, circle[fill=red] und ähnliches hatten leider keine Auswirkungen.

    Da es noch einige Pfade/Punkte mehr sein werden, frage ich mich auch, wie ich das mit weniger Schreibarbeit hinbekommen kann, also z.B. das circle an jeder Stelle vermeiden.

    Danke!

  2. #2
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Verwende gefüllte circle Nodes.

    Code:
    \documentclass{scrartcl}
    \usepackage{tikz}
    \begin{document}
    \begin{tikzpicture}[
      myfilledcircle/.style={
        circle,fill,inner sep=0pt,minimum size=.2cm
      }
    ]
    \draw[color=red] 
      (0,0) node[myfilledcircle]{} -- 
      (0,-1) node[myfilledcircle]{} -- 
      (0,-2) node[myfilledcircle]{} -- 
      (1,-2);
    \draw[xshift=1cm] 
      (0,0) node[myfilledcircle]{} -- 
      (0,-1) node[myfilledcircle]{} -- 
      (0,-2) node[myfilledcircle]{} -- 
      (1,-2) node[myfilledcircle]{} -- 
      (1,-1) node[myfilledcircle]{} -- 
      (1,0) node[myfilledcircle]{};
    \end{tikzpicture}
    \end{document}
    Um Schreibarbeit zu sparen, kannst Du foreach Schleifen nutzen

    Code:
    \documentclass{scrartcl}
    \usepackage{tikz}
    \begin{document}
    \begin{tikzpicture}[myfilledcircle/.style={circle,fill,inner sep=0pt,minimum size=.2cm}]
    \foreach[remember=\p as \lastp (initially {0,0})] 
      \p in {{0,-1},{0,-2},{1,-2}}
        \draw[red](\lastp)node[myfilledcircle]{}--(\p);
    \foreach[remember=\p as \lastp (initially {0,0})] 
      \p in {{0,-1},{0,-2},{1,-2},{1,-1},{1,0}}
        \draw[xshift=1cm](\lastp)node[myfilledcircle]{}--(\p);
    \node[xshift=1cm,myfilledcircle]at(1,0){};
    \end{tikzpicture}
    \end{document}
    und/oder die Punkte in einer Matrix setzen:

    Code:
    \documentclass{scrartcl}
    \usepackage{tikz}
    \usetikzlibrary{matrix}
    \begin{document}
    \begin{tikzpicture}
    \matrix[
      matrix of nodes,
      nodes in empty cells,
      inner sep=0pt,outer sep=0pt,
      row sep={1cm,between origins},
      column sep={1cm,between origins},
      nodes={circle,fill,minimum size=.2cm},
      column 1/.style=red
      ](m){
        &&\\
        &&\\
        &&\\
     };
    \foreach \c/\f in {1/red,2/.,3/.}{
      \foreach[count=\lr] \r in {2,3}{
      \path(m-\lr-\c)edge[\f](m-\r-\c);
      }
    }
    \path 
      (m-3-1)edge[red](m-3-2)
      (m-3-2)edge(m-3-3);
    \end{tikzpicture}
    \end{document}
    Gruß
    Elke

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •