我使用筛分分析评估了颗粒尺寸分布。现在我想使用 PGFplots 展示结果。最大开口为 1 毫米。我可以绘制有限间隔(例如 0.25 毫米 - 0.50 毫米),但我不知道如何绘制“1 毫米及更大”,我必须给出一个有限的上限。
这是我目前所拥有的:
\begin{tikzpicture}[scale=1.05]
\begin{axis}[
ybar interval,
grid=none,
xlabel={średnica oczek [\si{\milli\meter}]},
ylabel={masa [\si{\gram}]},
minor y tick num=9,
xtick=data,
x tick label style={rotate=90,anchor=east}
]
\addplot[] table[x=sred, y=masa] {cw4.dat};
\end{axis}
\end{tikzpicture}
cw4.dat:
sred masa
0.000 0.18
0.125 0.72
0.250 1.11
0.500 1.04
1.000 0.02
2.000 0.02
2.000 是最后一个间隔的上限,但最后一个间隔应该没有上限,我不知道如何在 PGFplots 中做到这一点。
这就是我所拥有的:
这就是我想要的:
答案1
您可以xticklabel
根据当前 xtick 的值定义
xticklabel={\pgfmathparse{\tick<1?
"\noexpand\pgfmathprintnumber\noexpand\tick--\noexpand\pgfmathprintnumber\noexpand\nexttick"
:"$\noexpand>1$"}\pgfmathresult}
代码:
\documentclass[margin=10pt]{standalone}
\usepackage{pgfplots,siunitx}
\pgfplotsset{compat=1.8}
\usetikzlibrary{babel}
\usepackage[polish]{babel}
\usepackage{polski}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar interval,
grid=none,
xlabel={średnica oczek [\si{\milli\meter}]},
ylabel={masa [\si{\gram}]},
minor y tick num=9,
xtick=data,
x tick label style={rotate=90,anchor=east},
xticklabel={\pgfmathparse{\tick<1?
"\noexpand\pgfmathprintnumber\noexpand\tick--\noexpand\pgfmathprintnumber\noexpand\nexttick"
:"$\noexpand>1$"}\pgfmathresult}
]
\addplot[] table[x=sred, y=masa] {cw4.dat};
\end{axis}
\end{tikzpicture}
\end{document}