Ich möchte zwei Kreisdiagramme in einem tikzpicture unterbringen. Ein Pfeil soll von einem bestimmten Teil des einen Diagramms auf ein anderes Diagramm zeigen. Das eine Diagramm habe ich schon mal grob erstellt. Das zweite Diagramm will nicht so, wie ich das will. Die Winkel, die ich zeichnen will, fangen immer an der Ursprungskoodinate an, anstatt bei dem draw Punkt, den ich angegeben habe. Was mache ich da falsch? Macht man das überhaupt so? Oder sollte ich da sowieso zwei Grafiken erstellen? Wobei ich dann wieder Probleme damit habe, das ganze so zu positionieren, dass der Pfeil dann passend auf das zweite Diagramm zeigt.

Im Grunde soll das Ganze nachher ungefähr so aussehen:

alt text

Hier mein bisheriger Quellcode:

Open in Online-Editor
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
%%%%%%%%zeichnen des ersten Diagramms %%%%%%%%
%zeichnen der subjektiven Faktoren
\draw[fill=red, thick] (0,0) -- (108:2cm) arc (108:0:2cm)
node at (54:1.2cm) {30 \%};
\draw (23:2.3cm) -- (23:2.3cm) node[right] {subjektive Faktoren};
%zeichnen der objektiven Faktoren
\draw[fill=blue, thick] (0,0) -- (360:2cm) arc (360:108:2cm)
node at (252:1.2cm) {70 \%};
\draw (252:2.3cm) -- (252:2.3cm) node[below] {objektive Faktoren};
%%%%%%%% zeichnen des Pfeils %%%%%%%%
\draw (1,-1) -- (3,-3);
\draw (3,-3) -- (2.5,-3);
\draw (3,-3) -- (3,-2.5);
%%%%%%%%zeichnen des zweiten Diagramms %%%%%%%%
  \foreach \start/\end/\middle/\percent/\anchor/\beschriftung in {
    0/211/106/58.5/above/xx,
    211/249/230/10.6/below/xx,
    249/295/272/12.8/below/xx,
    295/329/312/9.6/below/xx,
    329/360/344/8.5/right/xx}
  {
    \draw[fill=blue, thick] (7,-6) -- (\end:3cm) arc (\end:\start:3cm)
    node at (\middle:1.8cm) {\percent \%};
    \draw (\middle:3cm) -- (\middle:3.5cm) node[\anchor] {\beschriftung };
  };
\end{tikzpicture}
\end{document}

gefragt 30 Jun, 05:52

tiga05's gravatar image

tiga05
161
Akzeptiert: 100%

bearbeitet 30 Jun, 10:29

saputello's gravatar image

saputello
18.4k22352

2

Bitte keine HTML-Tags, sondern immer Markdown verwenden.

(30 Jun, 06:18) Henri

Bitte nicht nur einen Code-Auschnitt, sondern ein vollständiges Minimalbeispiel angeben. Dann funktioniert nämlich auch die Übergabe des Codes an den Online-Editor via automatisch eingefügtem Link.

(30 Jun, 06:22) saputello

Sollte nun funktionieren.

(30 Jun, 06:44) tiga05
1

Nein! Da fehlt alles, was um die tikzpicture-Umgebung herum notwendig ist, um ein vollständiges Dokument daraus zu machen. Beachte meinen Link!

(30 Jun, 06:53) saputello

Ich weiß nicht was du damit meinst. ich habe keine weitere tikzpicture-Umgebung. Der Online-Editor funktioniert außerdem doch und zeigt identisch mein Problem. Vielleicht gehts ja nicht, weil da was fehlt? :D

(30 Jun, 07:23) tiga05

@tiga05 Overleaf ergänzt da zwar eine Klasse und ein paar Pakete, was bei Deinem Beispiel zu reichen scheint, aber es wäre viel besser, wenn Dein Beispiel auch lauffähig ist, wenn man es so in eine lokale Datei auf dem eigenen Computer kopiert.

(30 Jun, 08:53) esdd
(30 Jun, 10:27) saputello
Ergebnis 5 von 7 Alle anzeigen

Du musst beim zweiten Diagramm alle Koordinaten relativ zum Ursprung von diesem angeben.

Open in Online-Editor
\draw[fill=blue, thick] (7,-6) -- +(\end:3cm) arc (\end:\start:3cm);
\path (7,-6) +(\middle:1.8cm) node {\percent \%};
\draw (7,-6) ++(\middle:3cm) -- +(\middle:.5cm) node[\anchor] {\beschriftung};

Lies dazu am besten den Abschnitt »13.4 Relative and Incremental Coordinates« im pgfmanual durch.

Das Ergebnis ist dann

alt text


Hier sind mal noch zwei der zahlreichen möglichen Alternativen:

Open in Online-Editor
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  % erstes Kreisdiagramm
  \def\radius{2}
  \coordinate(D1) at (0,0);
  \foreach
    [
      remember=\end as \start (initially 0),
      evaluate={\end=\start+3.6*\percent},
      evaluate={\middle=.5*(\start+\end)}
    ] 
    \percent/\farbe in {30/red,70/blue!80}
    {
      \draw[thick,fill=\farbe,fill opacity=.8,line join=round] 
        (D1) -- +(\end:\radius) arc (\end:\start:\radius)--cycle;
      \path (D1) +(\middle:{0.7*\radius})node{\percent \%};
    };%
  \path
    (23:2.3)node[right]{subjektive Faktoren}
    (252:2.3)node[below]{objektive Faktoren}
  ;

  % zweites Kreisdiagramm
  \def\radius{3}
  \coordinate (D2) at (6,-7);% Mittelpunkt zweites Kreisdiagramm
  \foreach
    [
      remember=\end as \start (initially 0),
      evaluate={\end=\start+3.6*\percent},
      evaluate={\middle=.5*(\start+\end)}
    ] 
    \percent/\farbe/\beschriftung in {58.5/blue!60/xx,10.6/purple/xx,12.8/green/xx,9.6/orange/xx,8.5/gray/xx}
    {
      \draw[thick,fill=\farbe,fill opacity=.8,line join=round] 
        (D2) -- +(\end:\radius) arc (\end:\start:\radius)--cycle;
      \path(D2) +(\middle:{0.7*\radius}) node{\percent \%};
      \draw(D2) ++(\middle:\radius)node[pin=\middle:\beschriftung] {};
    };

  % Pfeil
  \draw[->,line width=1mm,shorten <=1.5cm, shorten >=4cm](D1)--(D2);
\end{tikzpicture}
\end{document}

alt text

Open in Online-Editor
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\newcommand*\kreisdiagramm[2]{%
  \foreach
    [
      remember=\end as \start (initially 0),
      evaluate={\end=\start+3.6*\percent},
      evaluate={\middle=.5*(\start+\end)}
    ] 
    \percent/\farbe in {#2}
    {
      \draw[thick,fill=\farbe,fill opacity=.8,line join=round]
        (0,0) -- (\end:#1) arc (\end:\start:#1)--cycle;
      \node at (\middle:{0.7*#1}) {\percent \%};
    };%
}

\begin{document}
\begin{tikzpicture}
  % erstes Kreisdiagramm
  \kreisdiagramm{2}{30/red,70/blue}
  \path
    (23:2.3)node[right]{subjektive Faktoren}
    (252:2.3)node[below]{objektive Faktoren}
  ;
  % zweites Kreisdiagramm mit verschobenem Ursprung
  \coordinate(D2)at(6,-7);
  \begin{scope}[shift={(D2)}]
    \kreisdiagramm{3}{58.5/blue!80,10.6/purple,12.8/green,9.6/orange,8.5/gray}
  \end{scope}
  % Pfeil
  \draw[->,line width=1mm,shorten <=1.5cm,shorten >=4cm](0,0)--(D2);
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 30 Jun, 08:50

esdd's gravatar image

esdd
14.2k53251

bearbeitet 02 Jul, 17:17

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×31
×6

Frage gestellt: 30 Jun, 05:52

Frage wurde angeschaut: 410 Mal

Zuletzt aktualisiert: 02 Jul, 17:17