Seite 1 von 1

Kreisdiagrammproblem

Verfasst: Mi 1. Jun 2011, 16:07
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?

Verfasst: Mi 1. Jun 2011, 16:29
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.

Verfasst: Mi 1. Jun 2011, 16:49
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

Verfasst: Mi 1. Jun 2011, 22:28
von iTob
Also mit TikZ scheint es tatsächlich eher nix fertiges zu geben, aber vielleicht hilft dir das Paket datatool eher …