如何删除 pgfplots 中的某些轴,以及如何在图中添加标签

如何删除 pgfplots 中的某些轴,以及如何在图中添加标签

我想删除此程序框中的轴。我想保留 x 轴和 y 轴,并删除它们前面的轴。我尝试过使用 xtick=\empty 和不使用 xtick=\empty,但似乎没有效果。

另外,是否可以使用图表提供的精确颜色和形状添加对图形的引用(例如:蓝色圆圈等于 X,红色正方形等于 Y,棕色圆圈等于 Z)?

\documentclass{article}
\usepackage{pgfplots}  
\begin{document}
\pgfmathdeclarefunction{poiss}{1}{%
  \pgfmathparse{(#1^x)*exp(-#1)/(x!)}%
}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[every axis plot post/.append style={
  samples at = {0,...,10},
  axis x line*=bottom,
  axis y line*=left,
%  xtick=\empty, 
%  ytick=\empty,
  enlargelimits=upper}]
  \addplot +[ycomb] {poiss(1)};
  \addplot +[ycomb] {poiss(2)};
  \addplot +[ycomb] {poiss(4)};
\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}

答案1

你为什么要把所有这些选项都放进去every axis plot post/.append style?虽然我不完全确定你想要什么,但请尝试下面的代码。

\documentclass{article}
\usepackage{pgfplots}  
\begin{document}
\pgfmathdeclarefunction{poiss}{1}{%
  \pgfmathparse{(#1^x)*exp(-#1)/(x!)}%
}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
  samples at = {0,...,10},
  axis x line*=bottom,
  axis y line*=left,
  enlarge x limits=true,enlarge y limits=false]
  \addplot +[ycomb] {poiss(1)};
  \addplot +[ycomb] {poiss(2)};
  \addplot +[ycomb] {poiss(4)};

\addlegendentry{X}
\addlegendentry{Y}
\addlegendentry{Z}
\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}

在此处输入图片描述

相关内容