Histogramm Layout korrigieren? Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Neo
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 61
Registriert: Mo 21. Dez 2020, 20:36

Histogramm Layout korrigieren?

Beitrag von Neo »

Hallo,
warum baut Latex hier unerwünschte vertikale Abstände zwischen den Balken und der Beschriftung ein? Außerdem wäre es schöner, wenn die Dezimaltrennung ein Punkt statt Komma wäre. Weiß da jemand eine Lösung?
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[title  = Konzentration in Partikel / ml,
    xbar,
    y axis line style = { opacity = 0 },
    axis x line       = none,
    tickwidth         = 0pt,
 %   enlarge y limits  = 0.2,
 %enlarge x limits  = 0.02,
    symbolic y coords = {Spanender Verschleis, Reaktionsprodukte,Ermüdungsverschleis,  Gleitverschleis},
    nodes near coords,
  ]
  \addplot coordinates { (,Spanender Verschleis) (,Reaktionsprodukte) (,Ermüdungsverschleis)  (5221,Gleitverschleis) };
  \addplot coordinates { (,Spanender Verschleis) (,Reaktionsprodukte) (918,Ermüdungsverschleis)  (,Gleitverschleis)  };
    \addplot coordinates { (,Spanender Verschleis) (317,Reaktionsprodukte) (,Ermüdungsverschleis)  (,Gleitverschleis) };
  \addplot coordinates { (1376,Spanender Verschleis) (,Reaktionsprodukte) (,Ermüdungsverschleis)  (,Gleitverschleis)  };
 % \legend{Gleitverschleiß, Ermüdungsverschleiß, Reaktionsprodukte, Spanender Verschleiß}
  \end{axis}
\end{tikzpicture}
\end{document}

Neo
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 61
Registriert: Mo 21. Dez 2020, 20:36

Re: Histogramm Layout korrigieren?

Beitrag von Neo »

Habe nun eine andere Vorlage verwendet. Das Ergebnis stellt mich zufrieden. Der Vollständigkeit halber liefere ich das Ergebnis hier ab.
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
 \begin{tikzpicture}
    \begin{axis}[
    title style={at={(0,1)},anchor=south west,inner xsep=0pt},% <- added
    ybar=15,            %Abstand zwischen den Balken
    ymin=0,
    ymax=6000,            %maximale Diagrammhöhe
    xmin=-1,% <-changed
    xmax=1,% <- changed
    ymajorgrids,       %Horizontale Guidelines
    bar width=30pt,     %Balkenbreite
    xtick=\empty,       %keine kleinen Striche auf x achse
     ytick={0,1000,...,6000},
    nodes near coords={\pgfmathprintnumber\pgfplotspointmeta },           %Fügt Prozent an, wenn \% am Ende
    nodes near coords align={vertical},
    legend style={
        legend pos = outer north east,
        row sep = 10pt,
        draw = none,
        /tikz/nodes={text width=135pt,text depth=}
    }]
    \addplot coordinates{(0,5221)};
    \addlegendentry{Gleitverschleiß}

    \addplot coordinates{ (0,918)};
    \addlegendentry{Ermüdungsverschleiß}

    \addplot coordinates{ (0,317)};
    \addlegendentry{Reaktionsprodukte}

    \addplot coordinates{ (0,1376)};
    \addlegendentry{Spanender Verschleiß}

    \end{axis}
    \end{tikzpicture}
\end{document}

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2485
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Histogramm Layout korrigieren?

Beitrag von Stefan Kottwitz »

Hallo Neo,

danke für das Zeigen der gefundenen Lösung!

Stefan

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Re: Histogramm Layout korrigieren?

Beitrag von Bartman »

Ein Vorschlag zu Deinem ersten Beispiel:
\documentclass{standalone}
\usepackage{pgfplots}

\pgfplotsset{
  compat=1.18,
  /pgf/number format/.cd,
    use comma,
    1000 sep={\,},
    min exponent for 1000 sep=4
}

\begin{document}
\centering
\begin{tikzpicture}
  \begin{axis}[
    width=8cm,
    height=\pgfkeysvalueof{/pgfplots/width}/2,
    xbar,
    bar shift=0pt,
    xmin=0,
    tick style={draw=none},
    y axis line style={draw=none},
    ytick={1,2,3,4},
    yticklabels={Spanender Verschleis,Reaktionsprodukte,Ermüdungsverschleis,Gleitverschleis},
    xticklabels={\empty},
    xlabel={Konzentration in Partikel / ml},
    nodes near coords
  ]
  \addplot coordinates {(5221,4)};
  \addplot coordinates {(918,3)};
  \addplot coordinates {(317,2)};
  \addplot coordinates {(1376,1)};
  \end{axis}
\end{tikzpicture}
\end{document}
Das Tausendertrennzeichen wird aufgrund der Einstellungen in der Präambel erst ab einer fünfstelligen Zahl ausgegeben. Wie man an pgf erkennen kann, ist die Beschreibung in der Anleitung von TikZ zu finden.

Antworten