Der grüne Knoten (B) liegt unter der Linie. Das ist klar, die Linie wird erst nach dem Knoten (B) gezeichnet. Daher wollte ich den Knoten (B) in Zeile 24 darübermalen. Der ist tranzparent und mir ist unklar warum. Wenn ich Knoten (B) durch ein ganz neues Bild übermale, Z. 26-29, funktioniert es. Gibt es eine bessere Lösung?

Und warum sind die Linien, obwohl sie von (BPbox) nach aussen verlaufen (die Pfeilspitzen stimmen) unterschiedlich in der Farbausrichtung? Die 100-Prozent-Farbe sollte an den Knoten (A), (B), (C) liegen. Das ist nur bei (A) korrekt.

\documentclass[fontsize=17pt,DIV=calc]{scrartcl}
\usepackage{lmodern}
\usepackage{tikz}
\usetikzlibrary{fit,positioning,fadings}
\pagestyle{empty}
\begin{document}
\tikzfading[name=myfade, left color=transparent!50, right color=transparent!0]
\begin{tikzpicture}[remember picture, overlay, shift={(current page.center)},
    every node/.style={inner sep = 5mm},
    myline/.style = {line width=6pt,->, scope fading=myfade}]
        \path [nodes={anchor=north}]    (0,0) node (U) {\LARGE\bfseries Beispiele:};
        \node[below = -4mm of U, font = \Large] (a)  {Themen};  %für Knoten a und Umrandung fit={(U) (a)}
        \node[fill=violet!25, fit={(U) (a)}]  (BPbox) {};
        \path [nodes={anchor=north, ultra thick}]
            (0,-.5) node (U) {\LARGE\bfseries Beispiele:}
            (4,8) node (A) [fill=orange] {Beispielthema 1}
            (-5,5) node (B) [fill=green] {Beispielthema 2}
            (-6,10) node (C) [fill=gray] {Beispielthema 3}
            ;
        \node[below = -4mm of U, font = \Large] (a)  {Themen}; %Knoten a sichtbar
        \draw[myline,orange] (BPbox) -- (A);
        \draw[myline,green] (BPbox) -- (B);
        \draw[myline,gray] (BPbox) -- (C);
        %\path [nodes={anchor=north}] (-5,5) node[fill=green] {Beispielthema 2};
\end{tikzpicture}
%\begin{tikzpicture}[remember picture, overlay, shift={(current page.center)},
    %every node/.style={inner sep = 5mm}]
        %\path [nodes={anchor=north}] (-5,5) node[fill=green] {Beispielthema 2};
%\end{tikzpicture}
\end{document}

gefragt 13 Jun '22, 12:45

sehuja's gravatar image

sehuja
81412
Akzeptiert-Rate: 0%

1

Ohne das scope fading=myfade klappt es mit dem Übermalen in Zeile 24. Farbausrichtig: die ist links nach rechts, nicht Beginn Pfad nach Ende Pfad. Die Pfeile sind einmal nach rechts geneigt und einmal nach links. Entsprechend kannst Du das Fading ändern oder die Zeichenrichtung im Pfad.

(13 Jun '22, 13:11) stefan ♦♦

Ich schaffe es irgendwie nicht Dein(e) Problem(e) zu erfassen. Vielleicht kannst Du mal ein Paint-Bild machen, wo du die Probleme reinschreibst, oder so. Z.B. warum braucht es dieses 'fading'? Rein optisch betrachtet sind das doch 4 nodes mit Verbindungspfeilen dazwischen. Die nodes könntest ganz klassisch setzen und die Verbindungspfeile als Annotation im Anschluss. Das ganze eben in sinnvoller Reihenfolge; oder Du deklarierst 'Layers', falls das Übermalen ein Problem sein sollte. Du könntest für das ganze auch eine TikZ-Matrix verwenden, was ggf.leicht übertrieben wäre.

(19 Jun '22, 12:41) cis

Wenn es tatsächlich nur um das gesehene Bild geht, finde ich das seltsam umgesetzt.
Ich verstehe z.B. nicht, warum müssen alle nodes Teil desselben Pfades sein? Warum setzt Du die nicht einfach einzeln? Du verwendest sowieso absolute Koordinaten, das sollte Dir nicht schwerfallen. Eleganter würde es werden, wenn Du den unteren Kasten setzt und die anderen mit relativen Koordinaten dazu. Dann wird das Ganze flexibler. Damit nichts übermalt wird, ist dann in beiden Fällen nur die Reihenfolge entscheidend.

(19 Jun '22, 13:34) cis

Dann ist unklar, warum du Texte, die im selben "Kasten" stehen sollen, mit verschiedenen nodes setzt. Das macht man so nicht.

(19 Jun '22, 13:40) cis

Den großen Effekt von diesem 'tikzfade' sehe ich hier nicht.
Wenn es nur um die Erzeugung des Bildes geht, dann z.B. irgendwie so.

€dit: Wie schon in den Kommentaren angedeutet: Das Beispiel im Startpost ist so konfus und an vielen Stellen seltsam umgesetzt. Und die Problembeschreibung nicht wirklich nachvollziehbar.
Vielleicht geht es ja darum, dass man den grauen Pfeil, der vom grünen Kasten übermalt wird, doch leicht sehen soll. Dann würde ich einfach opacity=0.7 ergänzen.

€dit 2: on background layer für die Pfeile ergänzt; um eine hässliche Graphik wenigstens ein bisschen schöner zu machen.

alt text

\documentclass[margin=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\begin{document}
\begin{tikzpicture}[%remember picture, overlay, shift={(current page.center)},
nodes={align=center, inner sep = 5mm, text=black},
subnode/.style={anchor=south, fill, outer sep=0pt},
pfeil/.style={->, line width=6pt, shorten <=-5mm},
]
\node[draw, fill=violet!25, inner sep=15mm, font=\Large] (U) {
\textbf{Beispiele:} \\ Themen};

\begin{scope}[on background layer]% Damit die Pfeile schön nahtlos aus dem unteren Kasten ragen 
\draw[pfeil, gray] (U.100) -- +(120:7) node[subnode]{Knoten grau}; 
\draw[pfeil, green, opacity=0.7] (U.140) -- +(110:2) node[subnode]{Knoten grün}; 
\draw[pfeil, orange] (U.60) -- +(70:5) node[subnode]{Knoten orange}; 
\end{scope}
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 19 Jun '22, 14:07

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 19 Jun '22, 15:07

Danke für den Code. Mein Wirrwar ist aus diversen Versuchen entstanden. Es gibt so viele Möglichkeiten und als Anfänger findet man leider nicht den elegantesten Weg. Fading war die Idee die Pfeile von der Mittelfarbe (lila) zur Knotenfarbe wechseln zu lassen. Das funktioniert leider nicht.

(29 Jun '22, 09:12) sehuja

Eine elementare Lösung könnte sein, dass Du für nodes mit dem shape single arrow top color und bottom color angibst; und diese dann mit rotate platzierst. Willst Du aber entlang eines beliebigen Pfades verschieden färben, ist das m.W. nicht mehr trivial.

(11 Jul '22, 17:57) cis
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730
×76
×30

gestellte Frage: 13 Jun '22, 12:45

Frage wurde gesehen: 2,706 Mal

zuletzt geändert: 11 Jul '22, 17:57