PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Radar diagramm mit tikz



Stefan2902
23-04-2009, 21:39
Hallo,

ich würde gerne ein Radardiagramm, oder auch Netzdiagramm genannt, erstellen, dass aussieht wie im Anhang. Dafüf würde ich gern das Package tikz benutzen.

Leider tue ich mich besonders bei den Zwischenstrichen (|) und bei der Neigung schwer. Hat jemand ein Idee?

bischi
23-04-2009, 22:32
x=A*cos(theta)
y=B*sin(theta)

m=dy/dy

Normale auf Gerade mit Steigung m: -1/m

Länge eines Vektors: sqrt(dx^2+dy^2)

Ich denke, das sollte reichen ;) (und falls nicht, ists ne gute Mathe-Übung :D)

MfG Bischi

localghost
23-04-2009, 22:56
x=A*cos(theta)
y=B*sin(theta)

m=dy/dy

Normale auf Gerade mit Steigung m: -1/m

Länge eines Vektors: sqrt(dx^2+dy^2)

Ich denke, das sollte reichen ;) (und falls nicht, ists ne gute Mathe-Übung :D)

MfG Bischi

Nützt wenig und ist auch keine gute Übung, weil m=dy/dx.

[...] ich würde gerne ein Radardiagramm, oder auch Netzdiagramm genannt, erstellen, dass aussieht wie im Anhang. Dafüf würde ich gern das Package tikz benutzen.

Leider tue ich mich besonders bei den Zwischenstrichen (|) und bei der Neigung schwer. Hat jemand ein Idee?
Es geht dir wohl hauptsächlich um die Achsen. Da zeichnest Du im Prinzip eine von und rotierst sie dann.

\documentclass[11pt,a4paper,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage{tikz}

\parindent0em

\begin{document}
\begin{tikzpicture}[thick]
\foreach \d in {30,90,150}{
\begin{scope}[rotate=\d]
\draw[gray!50] (-7,0)--(7,0);
\foreach \x in {-7,-6,...,7}
\draw[gray!50] (\x,0.1)--(\x,-0.1);
\end{scope}
}
\end{tikzpicture}
\end{document}
Den Rest wirst Du sicher auch alleine können. Sieh dir in der Anleitung mal an, wie man Koordinaten angeben kann (insbesondere Polarkoordinaten).


MfG
Thorsten¹

Stefan2902
24-04-2009, 09:15
@Localghost: Danke. Das ist genau das, was ich gesucht habe.

Eine Gerade zeichnen und die anderen beiden um 90 bzw. 150 Grad drehen. Weltklasse.

Kannst du mir noch kurz sagen, wie ich die einzelnen Punkte der rotierten Geraden adressieren kann?

Ich muss ja nun Linien zeichnen, die einzelne Punkte verbinden. Bei der Senkreichten ist das einfach. Bei den gedrehten Linien hingegen, weiß ich nicht, wie ich die einzelnen Punkte koordinatenmäßig erfassen kann?

Hast du eine Idee?

localghost
24-04-2009, 09:37
[...] Kannst du mir noch kurz sagen, wie ich die einzelnen Punkte der rotierten Geraden adressieren kann?

Ich muss ja nun Linien zeichnen, die einzelne Punkte verbinden. Bei der Senkreichten ist das einfach. Bei den gedrehten Linien hingegen, weiß ich nicht, wie ich die einzelnen Punkte koordinatenmäßig erfassen kann? [...]
Deswegen habe ich ja die Polarkoordinaten erwähnt. Als komplettes Beispiel sieht das dann folgendermaßen aus.

\documentclass[11pt,a4paper,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage[margin=2cm]{geometry}
\usepackage{tikz}

\parindent0em

\begin{document}
\begin{tikzpicture}[scale=0.45,thick]
% \draw[style=help lines] (-11,-8) grid (7,7);
\foreach \d in {30,90,...,330}{
\begin{scope}[rotate=\d]
\draw[gray!50] (0,0)--(7,0);
\foreach \x in {1,2,...,7}
\draw[gray!50] (\x,0.1)--(\x,-0.1);
\end{scope}
}
\draw[ultra thick,blue!75!black] (30:6)--(90:5)--(150:5.5)--(210:4)--(270:6)--(330:4)-- cycle;
\draw[dashed,ultra thick,blue!50] (30:4.5)--(90:4)--(150:6)--(210:5)--(270:4)--(330:2)-- cycle;
\draw (30:7) node[anchor=south west] {Industry/Domain};
\draw (90:7) node[anchor=south] {Relationship};
\draw (150:7) node[anchor=south east] {Global Delivery Model};
\draw (210:7) node[anchor=north east] {Utility};
\draw (270:7) node[anchor=north] {Enhancement};
\draw (330:7) node[anchor=north west] {Transformation};
\draw[ultra thick,blue!75!black] (14,1)--(16,1);
\draw (16,1) node[anchor=west] {Client Demand (2011)};
\draw[dashed,ultra thick,blue!50] (14,-1)--(16,-1);
\draw (16,-1) node[anchor=west] {Capability (2011)};
\end{tikzpicture}
\end{document}
Ich habe das noch mal leicht modifiziert. Jetzt werden vom Zentrum ausgehend sechs Halbachsen gezeichnet. Das ganze Bild müsste dann wegen der horizontalen Ausmaße wohl gedreht werden.

Stefan2902
24-04-2009, 09:48
Vielen Dank. Das hat mir sehr gut geholfen.

bischi
24-04-2009, 19:24
Nützt wenig und ist auch keine gute Übung, weil m=dy/dx.

Der Schreibfehler war Absicht - sonst wärs ja zu einfach :p

;) Bischi