Seite 1 von 1

Balkendiagramm mit pgfplots - Fehler bei zu kleinen Balken

Verfasst: Mi 3. Jul 2019, 18:24
von Seban
Hallo,

Ich habe mit pgfplots ein Balkendiagramm erstellt, das mittels einer csv-Datei mit Daten befüllt wird. Bisher lief es problemlos, aber nun ist es vorgekommen, dass die darzustellenden Daten sehr klein sind (y-Werte alle kleiner 0,02). Dies führt zu Fehlern, ich schätze es hat damit zu tun, dass die Skalierung der y-Achse nicht mehr korrekt erfolgen kann. Leider finde ich aber keinen Weg, wie ich das beheben kann.

Hier ein Minimalbeispiel, wäre nett wenn jemand mal drüber schauen könnte.
\documentclass{scrreprt}

\usepackage[ngerman]{babel}
\usepackage[scaled]{uarial}
   \renewcommand*\familydefault{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}

\usepackage{pgfplots}
   \pgfplotsset{
      compat=1.16,                           % Kompatibilität einstellen
      ticklabel style={/pgf/number format/.cd,       % Tick-Label anpassen:
         use comma,                              % Komma als Dezimaltrennzeichen
         assume math mode                        % Verhindert Wechsel in Mathemodus (Tick-Labels in Standardschriftart)
      }
   }
   
\begin{document}

   \begin{figure}
      \centering
     
      \begin{tikzpicture}
         \begin{axis}[
            ybar,                                 % lädt vordefiniertes Layout für Balkendiagramme
            width=0.9\textwidth, height=0.33\textheight,   % Breite, Höhe der Abbildung
            enlarge x limits=0.02,                     % Abstand links und rechts der Balken
            xlabel={x-Achsen-Beschriftung},               % x-Achsen-Beschriftung
            ylabel={y-Achsen-Beschriftung},                % y-Achsen-Beschriftung
            xtick={5,10,...,50},                     % x-Achsen-Werte
            xtick pos=left,                           % x-Achse hat nur unten Ticks
            ymin=0,                                 % kein Abstand zw. Balken und x-Achse
            ymajorgrids=true,                        % horizontale Linien an Ticks der y-Achse einfügen
            ticklabel style={/pgf/number format/.cd, fixed},% Tick-Label anpassen: Keine Skalierung (fixed)
         ]
         
         \addplot+ [               % Plot hinzufügen
            ybar,                  % Diagrammtyp: vertikales Balkendiagramm
            bar width=4pt            % Breite der Balken
         ] table {               % Daten einlesen
            2   0.09	% funktioniert nicht -> Fehler
            3   0.01
            4   0.01
            5   0.01
            6   0.03
            7   0.01
            50  0.02 
            
%            2   0.091	% funktioniert nun
%            3   0.01
%            4   0.01
%            5   0.01
%            6   0.03
%            7   0.01
%            50  0.02 
         };
         
         \end{axis}
      \end{tikzpicture}
     
      \caption[]{Bildunterschrift}
      \label{fig:bsp}
   \end{figure}

\end{document}
Beste Grüße,
Seban

Verfasst: Mi 3. Jul 2019, 22:03
von esdd
Setze
ymax=.1
und / oder ergänze
scaled y ticks=false
zu den Optionen der axis Umgebung.

Verfasst: Do 4. Jul 2019, 00:33
von Seban
So klappt's, vielen Dank!