Seite 1 von 1

Histogramm Layout korrigieren?

Verfasst: Fr 30. Dez 2022, 15:55
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}

Re: Histogramm Layout korrigieren?

Verfasst: Fr 30. Dez 2022, 17:23
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}

Re: Histogramm Layout korrigieren?

Verfasst: Fr 30. Dez 2022, 21:44
von Stefan Kottwitz
Hallo Neo,

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

Stefan

Re: Histogramm Layout korrigieren?

Verfasst: Sa 31. Dez 2022, 01:35
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.