我有一个包含直方图的文件,我想绘制它。这是我的代码:
\documentclass{report}
\usepackage{pgfplots} % for histograms
\begin{document}
\begin{tikzpicture}
\begin{axis}[ height = 0.4\paperheight
, width = 0.7\paperwidth
]
\addplot [ybar interval, color = black, fill = blue, line width = 0.5mm]
table {hist1.data};
\end{axis}
\end{tikzpicture}
\end{document}
我可以将 x 和 y 刻度设置为文件中的值吗?就像这样(不需要点):
文件“hist1.data”:
1 0.06
3 0.23
5 0.35
7 0.2
9 0.1
11 0.04
13 0.01
15 0
17 0
19 0.01
21 0
如果这是重复的问题,我很抱歉,但我找不到答案。
答案1
如果您设置ytick=data,xtick=data
,刻度将放置在第一个 中使用的 y 和 x 值处\addplot
。并且extra y ticks={0,0.05,...,0.35}
您也可以获得默认刻度。(当然,对于不同的数据,您必须更改值。之前的两个数字...
是列表中的前两个值,步长是它们之间的差值。列表在 之后的数字处停止...
。)
该filecontents
内容仅用于使示例自成一体,您不需要它供自己使用,因为您已经拥有该hist1.data
文件。
用于yticklabel style
获取0.06
而不是6\cdot10^{-2}
作为刻度标签。
\documentclass{report}
\usepackage{pgfplots} % for histograms
\usepackage{filecontents}
\begin{filecontents*}{hist1.data}
1 0.06
3 0.23
5 0.35
7 0.2
9 0.1
11 0.04
13 0.01
15 0
17 0
19 0.01
21 0
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
height = 0.4\paperheight,
width = 0.7\paperwidth,
extra y ticks={0,0.05,...,0.35},
ytick=data,xtick=data,
yticklabel style={
/pgf/number format/fixed,
/pgf/number format/precision=2,
}
]
\addplot [ybar interval, color = black, fill = blue, line width = 0.5mm]
table {hist1.data};
\end{axis}
\end{tikzpicture}
\end{document}