假设您有一个三角函数,为了简单起见,假设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}
这也许更简单。也许不是...我使用轴标签的明确表示。