Hallo zusammen, ich benötige ein 3D Balkendiagramm für unseren Verein, wo pro Jahr die Gesamtzahl der Starter, die 1., 2. und 3. Plätze pro Jahr erscheinen. Ein 2D-Digramm habe ich schon erstellt, ist aber zu unübersichtlich. Ideal wäre es, alle 4 Datenquellen in einem Diagramm abzubilden, daher die Wahl auf ein 3D-Balkendiagramm inkl. Legende.

Als LaTeX-Neuling kämpfe ich noch mit dem technischen Umfeld bei einem 3D Diagramm. Ich gehe aktuell davon aus, dass mir ein 3D Diagramm hier die Übersicht über die Datenlage besser ermöglicht. Ich habe mich schon mit addplot3 versucht, aber das Egebnis war eher eine Katastrophe. Könnt ihr mir bitte hier hilfreich mit Code unter die Arme greifen?

VIELEN DANK VORAB!

jkrais

Hier mal mein LaTeX-Dokument für 2D mit der Datenlage:

\documentclass[]{letter}
%-----------------------
% Fuer Balkendiagramme
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usetikzlibrary{calc}
\pgfplotsset{
    compat=1.9,
    xlabel near ticks,
    ylabel near ticks
}
%-----------------------

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        title=Kreismeisterschaften,
        height=6cm,
        width=11.5cm,
        enlargelimits=0.05,
        legend style={
            at={(0.5,-0.2)},
            anchor=north,
            legend columns=-1
        },
        ymin=0,
        ymax=55,
        enlargelimits=0.1,
        x tick label style={/pgf/number format/1000 sep=},
        x tick label style={rotate=45,anchor=east},
        ylabel={Plätze},
        %ybar interval=0.1,
        ytick={0,10,...,55},
        xtick=data, nodes near coords, nodes near coords align={vertical},
        every node near coord/.append style={anchor=mid west,rotate=60}
        ]
        % Starter gesamt
        \addplot coordinates {
            (2010,23)
            (2011,17)
            (2012,25)
            (2013,43)
            (2014,38)
            (2015,42)
            (2016,37)
            (2017,45)
            (2018,39)
            (2019,47)
        };

        % 1. Platzierungen
        \addplot coordinates {
            (2010, 3)
            (2011, 1)
            (2012, 3)
            (2013, 3)
            (2014, 1)
            (2015, 9)
            (2016, 15)
            (2017, 12)
            (2018, 13)
            (2019, 18)
        };

        % 2. Platzierungen
        \addplot coordinates {
            (2010, 3)
            (2011, 4)
            (2012, 2)
            (2013, 4)
            (2014, 3)
            (2015, 3)
            (2016, 7)
            (2017, 8)
            (2018, 4)
            (2019, 12)
        };

        % 3. Platzierungen
        \addplot coordinates {
            (2010, 1)
            (2011, 4)
            (2012, 3)
            (2013, 3)
            (2014, 6)
            (2015, 3)
            (2016, 5)
            (2017, 5)
            (2018, 2)
            (2019, 5)
        };
        \legend{Starter gesamt, 1. Platz, 2. Platz, 3. Platz}
    \end{axis}
\end{tikzpicture}
\end{document}

gefragt 22 Dez '21, 23:01

jkrais's gravatar image

jkrais
715
Akzeptiert-Rate: 0%

bearbeitet 29 Dez '21, 11:04

gast3's gravatar image

gast3
(ausgesetzt)

Vielleicht nicht das, was du hören möchtest, aber m.E. ist es Unsinn diese Daten als Säulendiagramm darzustellen. Entweder so wie jetzt (übersichtlich und Entwicklungen werden schnell ersichtlich; natürlich könnte man die Beschriftung noch aufhübschen/teilweise weglassen) oder aber als Tabelle.

(23 Dez '21, 00:35) Skillmon

Hallo in die Runde, vor lauter Bäumen den Wald nicht gesehen ;-) Ich habe die Graphen einfach horizontal gesetzt und dann passt es entsprechend meinen Anforderungen.

Trotzdem vielen Dank! Innerhalb von <2h wurde mir als Newbie in diesem Forum geantwortet. SUPER!

(23 Dez '21, 00:44) jkrais

Wenn ich quer liegenden Balken im Diagramm verwende, passt alles zu meinen Anforderungen:

\documentclass[]{letter}
%-----------------------
% Fuer Balkendiagramme
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usetikzlibrary{calc}
\pgfplotsset{
    compat=1.9,
    xlabel near ticks,
    ylabel near ticks
}
%-----------------------

\begin{document}
 \begin{tikzpicture}
    \begin{axis}[ 
        title=Kreismeisterschaften,
        xbar, xmin=0,
        xlabel={Anzahl Starter},
        height=17cm,
        width=11.5cm,
        bar width=0.2cm,
        legend style={
            at={(0.5,-0.1)},
            anchor=north,
            legend columns=-1
        },
        symbolic y coords={%
            {2019},
            {2018},
            {2017},
            {2016},
            {2015},
            {2014},
            {2013},
            {2012},
            {2011},
            2010},
        ytick=data,
        nodes near coords, 
        nodes near coords align={horizontal},
        ytick=data,
        grid,
        ]
        % 1. Platz
        \addplot coordinates {
            (18,{2019}) 
            (13,{2018}) 
            (12,{2017}) 
            (15,{2016})
            (9,{2015})
            (1,{2014})
            (3,{2013})
            (3,{2012})
            (1,{2011})
            (3,2010)};
        %2. Platz
        \addplot coordinates {
            (12,{2019}) 
            (4,{2018}) 
            (8,{2017}) 
            (7,{2016})
            (3,{2015})
            (3,{2014})
            (4,{2013})
            (2,{2012})
            (4,{2011})
            (3,2010)};
        %3. Platz
        \addplot coordinates {
            (5,{2019}) 
            (2,{2018}) 
            (5,{2017}) 
            (5,{2016})
            (3,{2015})
            (6,{2014})
            (3,{2013})
            (3,{2012})
            (4,{2011})
            (1,2010)};
        % Starter gesamt
        \addplot coordinates {
            (47,{2019}) 
            (39,{2018}) 
            (45,{2017}) 
            (37,{2016})
            (42,{2015})
            (38,{2014})
            (43,{2013})
            (25,{2012})
            (17,{2011})
            (23,2010)};
        \legend{1. Platz, 2. Platz, 3. Platz, Starter gesamt}
    \end{axis}
\end{tikzpicture} 
\end{document}
Permanenter link

beantwortet 28 Dez '21, 14:20

jkrais's gravatar image

jkrais
715
Akzeptiert-Rate: 0%

bearbeitet 29 Dez '21, 10:56

gast3's gravatar image

gast3
(ausgesetzt)

Vielen Dank für die Eigenantwort. Nur ein paar kleine, freundlich gemeinte Hinweise:

  • Die Klasse letter ist eigentlich für (amerikanische) Briefe gedacht. Ohne letter-Umgebung ergibt es nicht viel Sinn, diese zu verwenden. article wäre dann immer min. gleichwertig und oftmals die bessere Lösung.
  • tikz wird von pgfplots ohnehin geladen. Braucht man also nicht getrennt zu laden.
  • pgfplots wird von pgfplotstable ohnehin geladen. Braucht also nicht getrennt zu laden.
  • compat=1.9 schaltet auf eine ziemlich alte pgfplots-Version zurück. Aktuell wäre compat=1.18.
(29 Dez '21, 10:59) gast3

@Ijon Tichy: Vielen Dank an Dich und Deine Tipps. Bei LaTeX bin ich aktuell "noch" im Fortgeschrittenen-Modus.:-)

Richtig ist, dass die letter-Umgebung keinen Sinn macht. Diese habe ich nur für das hier eingetragene Beispiel genutzt und stammt eigentlich aus dem TeXstudio als schnelle Lösung um nicht mein Hauptdokument zu schrotten.

(29 Dez '21, 16:41) jkrais
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×53
×28
×11

gestellte Frage: 22 Dez '21, 23:01

Frage wurde gesehen: 2,248 Mal

zuletzt geändert: 17 Jan '22, 18:29