PGF 图中无上限的条形图

PGF 图中无上限的条形图

我使用筛分分析评估了颗粒尺寸分布。现在我想使用 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}

在此处输入图片描述

相关内容