具有自定义轴标记的 Pgfplots

具有自定义轴标记的 Pgfplots

假设您有一个三角函数,为了简单起见,假设sin(x)。绘制函数时,如何将 x 轴标记放在 0、pi/2、pi、3pi/2、2pi 上,而不是使用的默认数值pgfplots

答案1

用于\xtick指定您想要刻度的位置,并\xticklabels指定相应的标签。

\documentclass{article} 
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    axis x line=center, 
    axis y line=middle, 
    xtick={0,1.5708,3.14159,4.7123889},
    xticklabels={$0$,$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$},
    domain=0:2*pi
]
\addplot {sin(deg(x))};
\end{axis}
\end{tikzpicture}
\end{document}

如果您不想为某个刻度标记添加标签,只需将该标记留空即可。例如,如果您不想为 pi 添加标签,则可以将该行替换为xticklabels={$0$,$\frac{\pi}{2}$,,$\frac{3\pi}{2}$}

答案2

xtick您可以使用和选项指定刻度的位置scaled x ticks。例如:

\documentclass{article} 
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xtick={0,1.5708,...,10},domain=0:2*pi,scaled x ticks={real:3.1415},
  xtick scale label code/.code={$\cdot \pi$}]
\addplot {sin(deg(x))};
\end{axis}
\end{tikzpicture}
\end{document}

摘自手册第 183 页。

答案3

使用gnuplot,我建议如下:

\documentclass{minimal}
\usepackage{tikz}
% GNUPLOT required
\begin{document}
\begin{center}
  \begin{tikzpicture}[domain=0:6.3]
    \foreach \x/\xtext in {0/0, 0.5*pi/\frac{\pi}{2} ,pi/\pi,
      1.5*pi/\frac{3\pi}{2}, 2*pi/2\pi}
    \draw[shift={(\x,0)}] (0pt,2pt) -- (0pt,-2pt) node[below] {$\xtext$};
    \draw[very thin,color=gray] (-0.1,-1.1) grid (2*pi,1.1); 
    \draw[color=blue] plot[id=sin] function{sin(x)} node[right] {$f(x) = \sin x$};
  \end{tikzpicture}
\end{center}
\end{document}

这也许更简单。也许不是...我使用轴标签的明确表示。 结果

相关内容