Tikz - unterschiedliche Linienstärken

Tabellen und Grafiken erstellen und anordnen


Reini
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 12. Mai 2015, 11:22
Wohnort: Berlin

Tikz - unterschiedliche Linienstärken

Beitrag von Reini »

Hallo zusammen,

vorab schon einmal Danke für die zahlreichen Hilfen, die ich diesem Forum schon entnehmen konnte.

Ich möchte mit Tikz ein geschlossenen Polygon zeichnen, bei dem einzelne Abschnitte unterschiedliche Linienstärken haben - und bekomme es einfach nicht hin. Hintergrund ist, dass ich eigentlich einen gefüllten Bereich brauche, bei dem einzelne Segmente (z.B. Strecke bc) mit "random" dekoriert und dünner gezeichnet werden. Zeichne ich das Polygon als einzelne Linien/ mehrere Polygone funktioniert es mit den Linienstärken (logisch), aber die Füllung (z.B. über ein "path"-Polygon hinzugefügt) stimmt in dem "random"-Linienbereich nicht mit dem Polygon überein.

Ich denke als Mini-Bsp. reicht folgendes:
\begin{tikzpicture}
\tikzstyle{ns1}=[line width=3.000]
\tikzstyle{ns2}=[line width=1.000]
\draw [ns1] (0,0) node [above] {a} -- (1,1)  node [above] {b} [ns2]{--(2,0)  node [above] {c} -- cycle}; %analog für decorate
\end{tikzpicture}
Danke für Tipps
Reini

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Wenn es nur um die Linienstärke ginge, könntest Du das Polygon zunächst mit der dünnsten Linienstärke zeichnen und füllen und anschließend die dickeren darüberzeichnen. Wenn bestimmte Seiten dabei aber noch dekoriert werden sollen, dann geht das eventuell nur mit viel Bastelei.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{
calc,
decorations.pathmorphing,
}
\begin{document}

\begin{tikzpicture}[
  ns1/.style={line width=1},
  ns2/.style={
    very thin,
    draw=blue!80!black,
    fill=blue!50!green!50,
    decoration={random steps,segment length=1mm},
    decorate}
]
\path
   (0,0)coordinate[label=left:a](a)
  +(1,1)coordinate[label=above:b](b)
  +(2,0)coordinate[label=right:c](c);
%
\begin{scope}% begrenzt das Clippen
\clip[overlay](a)--($(b)!-1cm!(a)$)--($(c)!-1cm!(a)$)--cycle;
\draw[ns2](a)--([yshift=2cm]a)--(b)--(c)--([yshift=-3cm]a)--cycle;
\end{scope}
%
\draw[ns1](c)--(a)--(b);%dicke schwarze Linie
\end{tikzpicture} 
\end{document}
Gruß
Elke

Bild
Dateianhänge
gl_random.png
gl_random.png (7.61 KiB) 5894 mal betrachtet

Reini
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Di 12. Mai 2015, 11:22
Wohnort: Berlin

Beitrag von Reini »

Hallo Elke,

da wollte ich wahrscheinlich zu viel oder habe zu umständlich gedacht.

Die einfachst Lösung ist dann wohl, das Polygon dünn, gefüllt und in den entsprechenden Abschnitten "dekoriert" zu zeichnen. Anschließend die dicken Abschnitte separat darüber zu legen. Ich denke, so werde ich es angehen.

Vielen Dank für Deine Hilfe
Reini

Antworten