
저는 너비가 10인 8개 빈의 히스토그램을 그리려고 합니다. 이것이 제가 현재 가지고 있는 것인데, 제 빈 너비는 눈에 띄게 10단위보다 훨씬 작습니다.
\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}