我正在使用 nifty 包创建堆积条形图pgfplots
。结果发现我的许多数据值都是零——在给定层中只有几列有非零条目。使用ybar stacked
绘图样式,为零的数据值将呈现为可见的线条(对于thick
线条尤其明显)。
例如,这里有一个 MWE 及其输出:
% arara: pdflatex
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar stacked, thick]
\addplot+ coordinates {(1,3) (2,0) (3,0)};
\addplot+ coordinates {(1,0) (2,5) (3,0)};
\addplot+ coordinates {(1,0) (2,0) (3,3)};
\addplot+ coordinates {(1,0) (2,0) (3,1)};
\end{axis}
\end{tikzpicture}
\end{document}
请注意第 2 列和第 3 列底部的蓝线:
有什么方法可以pgfplots
让这些零值不可见(即根本不可见)?例如,这意味着第 2 列和第 3 列底部的蓝线将消失。
答案1
我认为 pgfplots 根本不支持通用解决方案。
它可能应该成为一个功能请求。
我特此接受它作为功能请求,并将其添加到我的待办事项列表中。目前,Qrrbrbirlbel(类似 Tufte every axis plot/.append style={draw=none}
)提出的解决方法可能是目前最好的解决方案。
编辑该功能已同时实现。使用最新版本pgfplots
(以及适合兼容级别的设置,如compat=1.12
)的图表如下所示:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar stacked, thick]
\addplot+ coordinates {(1,3) (2,0) (3,0)};
\addplot+ coordinates {(1,0) (2,5) (3,0)};
\addplot+ coordinates {(1,0) (2,0) (3,3)};
\addplot+ coordinates {(1,0) (2,0) (3,1)};
\end{axis}
\end{tikzpicture}
\end{document}