So ändern Sie die Bin-Breite eines Histogramms

So ändern Sie die Bin-Breite eines Histogramms

Ich versuche, ein Histogramm mit 8 Behältern und einer Breite von 10 zu zeichnen. Das ist, was ich derzeit habe, wobei meine Behälterbreite deutlich weniger als 10 Einheiten beträgt.

    \begin{tikzpicture}
        \begin{axis} [ybar,xmin=70,xmax=160,ymin=0,ymax=20, xlabel = IQ Scores, ylabel = Frequency, xtick={70, 80, 90, 100, 110, 120, 130, 140, 150}]
            \addplot [draw = black, fill = gray] coordinates {
                (75,2)
                (85,3) 
                (95, 10)
                (105, 16)
                (115, 13)
                (125, 10)
                (135, 5)
                (145,1)
            }; 
        \end{axis}
    \end{tikzpicture}

Bildbeschreibung hier eingeben

Die Balken müssen sich grundsätzlich berühren. Irgendwelche Ideen, was ich tun muss?

Antwort1

Eine Möglichkeit hierfür ist die Verwendung von ybar interval(beachten Sie den leichten Unterschied in der Position der Häkchen auf der X-Achse).

\begin{tikzpicture}
    \begin{axis} [ybar interval,
    grid=none,
    xmin=70,xmax=160,ymin=0,ymax=20, xlabel = IQ Scores, ylabel = Frequency, xtick={70, 80, 90, 100, 110, 120, 130, 140, 150}]
        \addplot [draw = black, fill = gray] coordinates {
            (75,2)
            (85,3) 
            (95, 10)
            (105, 16)
            (115, 13)
            (125, 10)
            (135, 5)
            (145,1)
            (155,0)
        }; 
    \end{axis}
\end{tikzpicture}

Bildbeschreibung hier eingeben

Antwort2

Sie können die Einheitsbreite der x-Achse (z. B. x=0.1cm) und die Balkenbreite ( bar width=1cmda Ihre Schrittweite 10 beträgt) festlegen.

\documentclass{article}

\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}
\begin{tikzpicture}
    \begin{axis} [
        ybar,
        x=0.1cm,
        bar width=1cm,
        xmin=70,
        xmax=160,
        ymin=0,
        ymax=20,
        xlabel=IQ Scores,
        ylabel=Frequency,
        xtick={70, 80, 90, 100, 110, 120, 130, 140, 150}
    ]
        \addplot [draw = black, fill = gray] coordinates {
            (75,2)
            (85,3) 
            (95, 10)
            (105, 16)
            (115, 13)
            (125, 10)
            (135, 5)
            (145,1)
        }; 
    \end{axis}
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen