
我正在嘗試繪製一個包含 8 個寬度為 10 的 bin 的直方圖。
\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}
我基本上需要酒吧互相接觸。有什麼想法我需要做什麼嗎?
答案1
一種方法是使用ybar interval
(注意 x 軸刻度位置的細微差別)
\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}
答案2
您可以設定 x 軸的單位寬度(例如x=0.1cm
)和條形寬度(bar width=1cm
因為步長大小為 10)。
\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}