Kreisdiagrammproblem

Tabellen und Grafiken erstellen und anordnen


Nobly Fox
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: So 16. Jan 2011, 13:49

Kreisdiagrammproblem

Beitrag von Nobly Fox »

Hallo,
ich will mein Kreisdiagramm beschriften, indem von der Hälfte des Winkels ein 5mm langer strich ausgeht und daran die Beschriftung steht.

Folgend hab ich das ganze versucht zu lösen:
\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
	\foreach \start/\middle/\end/\anchor/\name in {
		0/165/329/left/Subduktions Zone,
		329/169/338/right/Kollisions Zone,
		338/173/345/right/Continental,
		345/175/351/right/Diffuse Seism.,
		351/177/355/right/Transform Zone,
		355/179/358/right/Bruchzone,
		358/180/360/right/Andere}
	{
		\draw[fill=blue!30, thick] (0,0) -- (\end:3cm) arc (\end:\start:3cm);
		\draw (\middle:3cm) -- (\middle:3.5cm) node[\anchor] {\name};
	};
\end{tikzpicture}
\end{document}
Leider passt das Diagramm mit der Beschriftung nicht überein... und ich sehe leider nicht meinen Fehler...
Oder kann ich das auch anders lösen?

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Du hast die Mitte falsch berechnet …

Damit geht’s
      \draw ({\start-0.5*(\start-\end)}:3cm) -- ({\start-0.5*(\start-\end)}:3.5cm) node[\anchor] {\name}; 
Alternativ auch so:
\documentclass{scrreprt} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage{tikz} 
\usetikzlibrary{calc}

\begin{document} 
\begin{tikzpicture} 
   \foreach [evaluate=\middle using {\start-0.5*(\start-\end)}]\start/\end/\anchor/\name in { 
      0/329/left/Subduktions Zone, 
      329/338/right/Kollisions Zone, 
      338/345/right/Continental, 
      345/351/right/Diffuse Seism., 
      351/355/right/Transform Zone, 
      355/358/right/Bruchzone, 
      358/360/right/Andere} 
   { 
      \draw[fill=blue!30, thick] (0,0) -- (\end:3cm) arc (\end:\start:3cm); 
      \draw (\middle:3cm) -- (\middle:3.5cm) node[\anchor] {\name}; 
   }; 
\end{tikzpicture} 
\end{document} 
In beiden Fällen musst du \middle nicht mehr manuell angeben.

Nobly Fox
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: So 16. Jan 2011, 13:49

Beitrag von Nobly Fox »

ich hab bisher auch nur gesehen, dass es das wohl gibt... leider nirgendwo gefunden wie das geht...

ich hätte nämlich evtl. auch gerne die kleinen Segmente mit nem offset versehen...

@iTob: danke für die Lösung

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

Also mit TikZ scheint es tatsächlich eher nix fertiges zu geben, aber vielleicht hilft dir das Paket datatool eher …

Antworten