我画的函数和 x 轴之间有间隙,如何弥补?
\documentclass[10pt]{article}
\usepackage{pgfplots}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{textcomp}
\usepackage{mathtools}
\usepackage{xcolor}
\usepackage{tabularx}
\usepackage{pstricks-add}
\usepackage{pgfplots}
\usepackage{background}
\usepackage{tkz-euclide}
\usepgfplotslibrary{fillbetween}
\pgfplotsset{compat=1.15}
\begin{document}
\begin{tikzpicture}[scale=0.26mm]
\begin{axis}
[
axis lines=middle,
axis line style={very thick},
axis on top,
tick style={black, thick,major tick length=6pt},
xlabel = {$x$},
ylabel = {$y$},
xmin=-1, xmax=10,
ymin=-1, ymax=1.5,
xtick={1/2*pi,pi,3/2*pi,2*pi,5/2*pi},
xticklabels={$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$,$2\pi$,$\frac{5\pi}{2}$},
ytick={-1,1},
yticklabels={-1,1},
enlargelimits={abs=0.2}
]
\addplot[domain=0:5/2*pi,samples=50,smooth,very thick,red] {abs(cos(deg(x)))};
\node at (2.5, 1.2) {$y=|cos(x)|$};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
- 删除
smooth
选项
编辑:
- 使样本数量的最后一位数字为“1”,例如 51、61、101 等等。
\documentclass{article}
\usepackage{textcomp}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\pgfplotsset{compat=1.15}
\begin{document}
\begin{tikzpicture}[scale=0.26mm]
\begin{axis}
[
trig format plots=rad,
axis lines=middle,
axis line style={very thick},
axis on top,
tick style={black, thick,major tick length=6pt},
xlabel = {$x$},
ylabel = {$y$},
xmin=-1, xmax=10,
ymin=-1, ymax=1.5,
xtick={1/2*pi,pi,3/2*pi,2*pi,5/2*pi},
xticklabels={$\frac{\pi}{2}$,$\pi$,$\frac{3\pi}{2}$,$2\pi$,$\frac{5\pi}{2}$},
ytick={-1,1},
yticklabels={-1,1},
enlargelimits={abs=0.2}
]
\addplot[domain=0:5/2*pi,samples=51,very thick,red] {abs(cos(x))};
\node at (2.5, 1.2) {$y=|cos(x)|$};
\end{axis}
\end{tikzpicture}
\end{document}
例如,当上面的 MWE 中的轴线和刻度样式更改为:
axis line style={very thin},
tick style={very thin},
并设置addplot
为
\addplot[domain=0:5/2*pi,samples=51,red] {abs(cos(x))};
附近的结果$\pi/2$
是
然而,为了在函数最大值处获得更平滑的曲线,需要更多的样本,例如 101 或 201 等。
但是,如果您只增加样本数量(例如,它们不以 1 结尾),结果将不太准确。例如,在 200 个样本时,您将获得以下结果:
因此,可以得出结论,最重要的是样本点和函数零值是对齐的。