Tikz

Tabellen und Grafiken erstellen und anordnen


ProtonLaser
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mo 12. Dez 2022, 16:32

Tikz

Beitrag von ProtonLaser »

Guten Tag ,
ich hätte folgendes kleines Anliegen an das Forum hier.
Die Unten Abgebildet Grafik würde ich gerne etwas ändern wollen.

1. Unter der dem linken stumpfen Teil des Pfeil soll "niedrig" stehen und an der Pfeilspitze "hoch".
2. Auf dem stumpfen rechten Teil Pfeil soll "hoch" und auf der Spitze niedrig stehen.
3.Wäre es möglich jeder Ebene der Pyramide eine verschiedene Farbe zu geben?

Für Hilfe wäre ich sehr dankbar!

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections}
\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,%
	decorations.pathreplacing,decorations.pathmorphing,shapes,%
	matrix,shapes.symbols}
\begin{document}
	
	\begin{tikzpicture}
		
		
		\node [single arrow, minimum width=1cm, minimum height=5cm, draw, 
		anchor=west,rotate=90] at (-6,0) {Komplexität der Implementierung};
		\node [single arrow, minimum width=1cm, minimum height=5cm, draw, 
		anchor=east,rotate=270] at (6,0) {Kosten};
		
		
		\coordinate (A) at (-5,0) {};
		\coordinate (B) at ( 5,0) {};
		\coordinate (C) at (0,5) {};
		\draw[name path=AC] (A) -- (C);
		\draw[name path=BC] (B) -- (C);
		\foreach \y/\A in 
		{0/TEST,
			1/TEST,
			2/TEST} { %0/G,1/F,2/E,3/D,4/C,5/B,6/A
			\path[name path=horiz] (A|-0,\y) -- (B|-0,\y);
			\draw[name intersections={of=AC and horiz,by=P},
			name intersections={of=BC and horiz,by=Q}] (P) -- (Q)
			node[midway,above] {\A};
		}
	\end{tikzpicture}
\end{document}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Re: Tikz

Beitrag von Bartman »

Du darfst die Option label eines Knotens mehrmals verwenden, um ihn zu beschriften.

Es gibt andernorts schon Beispiele (TeX.SX und TeXwelt), wie die Ebenen gefärbt werden können.

ProtonLaser
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mo 12. Dez 2022, 16:32

Re: Tikz

Beitrag von ProtonLaser »

Danke für deine Zeit und Antwort!

Ich habe folgendes "Problem" mit deinem Vorschlag, leider bin ich nicht fit in TIKZ.
Ich habe versucht die beiden Pfeile links und rechts in dein angegebenes Beispiel einzufügen leider ohne Erfolg.
Ich würde gerne den Farbverlauf wie in diesem Beispiel haben:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections}
\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,%
	decorations.pathreplacing,decorations.pathmorphing,shapes,%
	matrix,shapes.symbols}
\begin{document}
	
\begin{figure}[h!]
	\begin{center}
		
		\begin{tikzpicture}
			
			
			
			\node [single arrow, minimum width=1cm, minimum height=5cm, draw, 
			anchor=west,rotate=90,top color=red,bottom color=green] at (-6,0) {Komplexität der Implementierung};
			\node [single arrow,, minimum width=1cm, minimum height=5cm, draw, 
			anchor=east,rotate=270] at (6,0) {Kosten};
			\node [single arrow,top color=red,bottom color=green, minimum width=1cm, minimum height=5cm, draw, 
			anchor=east,rotate=270] at (7,0) {Kosten};
			
			
			\coordinate (A) at (-5,0) {};
			\coordinate (B) at ( 5,0) {};
			\coordinate (C) at (0,5) {};
			\draw[name path=AC] (A) -- (C);
			\draw[name path=BC] (B) -- (C);
			\foreach \y/\A in 
			{0/TEST,
				1/TEST,
				2/TEST} {0/G,1/F,2/E,3/D,4/C,5/B,6/A
				\path[name path=horiz] (A|-0,\y) -- (B|-0,\y);
				\draw[name intersections={of=AC and horiz,by=P},
				name intersections={of=BC and horiz,by=Q},] (P) -- (Q)
				node[midway,above] {\A};
			}
		\end{tikzpicture}
		\caption{TEST}
		\label{fig:TEST}
	\end{center}
\end{figure}
\end{document}
Ebenfalls hatte ich leider auch keinen Erfolg eine Beschriftung an die beiden Ende der jeweiligen Pfeile "anzuheften"
Für weiter Hilfe wäre ich sehr dankbar!

Nochmals vielen Dank!

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Re: Tikz

Beitrag von Bartman »

Du hast nichts von einem Farbverlauf gesagt.

Wenn ich Deinen Wunsch richtig verstehe, dann solltest Du Dir die Ausgabe des folgenden Beispiels ansehen:
\documentclass[tikz, border=5pt]{standalone}
\usetikzlibrary{intersections,shapes.arrows}
 
\begin{document}
\begin{tikzpicture}[
  shading color/.style={top color=red,bottom color=green},
  arrow style/.style={
    single arrow, 
    shading color,
    minimum width=1cm, 
    minimum height=\pyramidHeight,
    draw
  }
]
  \newcommand{\labelShift}{5pt}
  \newcommand{\pyramidHeight}{5cm}
  \node [
    arrow style,
    anchor=west,
    rotate=90,
    label={[below=\labelShift]left:niedrig},
    label={[above=\labelShift]right:hoch}
  ] at (-6,0) {Komplexität der Implementierung};
  \node [
    arrow style,
    anchor=east,
    rotate=270,
    label={[above=\labelShift]left:niedrig},
    label={[below=\labelShift]right:hoch}
  ] at (6,0) {Kosten};
  
  \coordinate (A) at (-\pyramidHeight,0) {};
  \coordinate (B) at (\pyramidHeight,0) {};
  \coordinate (C) at (0,\pyramidHeight) {};

  \fill [shading color] (A) -- (B) -- (C) -- cycle;
  \draw[name path=AC] (A) -- (C);
  \draw[name path=BC] (B) -- (C);
  \foreach \y/\A in {0/TEST,1/TEST,2/TEST} {
    \path[name path=horiz] (A|-0,\y) -- (B|-0,\y);
    \draw[
      name intersections={of=AC and horiz,by=P},
      name intersections={of=BC and horiz,by=Q}
    ]
      (P) -- node[above] {\A} (Q)
    ;
  }
\end{tikzpicture}
\end{document}

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2500
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Tikz

Beitrag von Stefan Kottwitz »

Hallo,

nur eine Bemerkung, ich freue mich, dass mit kompletten Beispielen diskutiert wird, die ich hier mit einem Klick im Forum übersetzen und anschauen kann.

Damit ich auch was konstruktives beitragen kann: nur eine persönliche Meinung und ich hab das noch nirgendwo diskutiert gesehen: ich finde in Diagrammen mit kurzen Labels serifenlose Schrift klarer, und füge oft z.B. every node/.append style={font=\sffamily} oder entsprechendes hinzu. Was denkt ihr?

Stefan

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Tikz

Beitrag von KOMA »

In (technischen) Zeichnungen wird gerne serifenlose Schrift verwendet, weil sie eher an Normschrift erinnert, auch wenn sie keine ist. Außerdem ist einer der Hauptzwecke von Serifen, die Verstärkung des Zeilenbildes, kaum von Bedeutung. Der andere Zweck, der meist höheren Redundanz ist aber sehr wohl noch vorhanden. Trotzdem haben die Serifenlosen meist den Vorteil, dass sie weniger Platz brauchen. Der ist gerade in Diagrammen ja leider oftmals ein Problem.

Man sollte aber darauf achten, dass die Serifenlose (Grotesk) auch wirklich etwas taugt. Vor allem die in Zeichnungen gerne verwendeten kleinen Größen sind da leider teilweise eher kritisch – siehe European Computer Modern Sans Serif.

Seit meine Augen immer schlechter werden, fällt mir leider immer öfter auf, dass häufig nicht nur viel zu kleine Schrift verwendet wird, sondern auch viel zu schlecht lesbare. Wenn ich zusätzlich zur Gleitsichtbrille noch die Lesebrille bemühen muss, reagiere ich gereizt.

Antworten