![Tikz/Pgfplots - 无法绘制具有水平移位的三角函数](https://linux22.com/image/407285/Tikz%2FPgfplots%20-%20%E6%97%A0%E6%B3%95%E7%BB%98%E5%88%B6%E5%85%B7%E6%9C%89%E6%B0%B4%E5%B9%B3%E7%A7%BB%E4%BD%8D%E7%9A%84%E4%B8%89%E8%A7%92%E5%87%BD%E6%95%B0.png)
我正在尝试使用tikz
和绘制 acos 图,pgfplots
其中函数应接收x-2
作为参数来绘制图形,acos(2-x)
该图形使 acos(x) 函数向右发生 h 移位并在 y 轴上发生反射
\begin{tikzpicture}
\begin{axis}[
smooth,
no markers,
axis lines=center,
xlabel=$x$,
ylabel=$y$,
xmin=-1.0, xmax=1,
ymin=-0.2 , ymax=180,
]
\addplot[name path=A, domain=-1:1, samples=101]{acos(2-x)};
但是我在编译时总是出现以下错误:
Missing number treated as zero
Illegal unit of measure (pt inserted)
在末尾添加 r2-x
也无济于事。
答案1
您的代码存在问题,它要求 pgf 计算acos
超出3
其范围的其他值。另一个问题是您仅提供片段。以下是将图形向右移动并将其反映在垂直轴上的简单方法:而不是\addplot <function(x)>;
使用\addplot (<hshift-x,{function(x)});
。
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
smooth,
no markers,
axis lines=center,
xlabel=$x$,
ylabel=$y$,
ymin=-0.2 , ymax=180,
]
\addplot[dashed, domain=-1:1, samples=101] {acos(x)};
\addplot[name path=A, domain=-1:1, samples=101] (2-x,{acos(x)});
\end{axis}
\end{tikzpicture}
\end{document}
虚线只是未经变换的acos
函数,用以表明该工作。