水平平移曲线

水平平移曲线

我用 pgfplots 绘制了这条曲线

\documentclass[12pt]{article}
\usepackage[margin=1.5cm,top=1cm,headheight=16pt,headsep=0.1in,heightrounded]{geometry}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
          xmax=5,ymax=10,
          axis lines=middle,
          restrict y to domain=0:13,
          yticklabels=\empty, xticklabels=\empty,
          width=10cm,
          height=10cm,
          enlargelimits]
\addplot[blue,samples=100]  {(8*(1-exp(-x))^2)} node[above right] {\begin{tabular}{c} anharmonic\\oscillator \end{tabular}} ;
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

现在我想将同一条曲线水平平移并“居中” x,使 的值等于3。并且,也许还要确保“非谐振子”节点不会被剪裁。

你有什么建议吗?

答案1

为了防止节点被剪裁,请将其移出 -environment axis。要记住曲线的终点,只需使用coordinate(<name>)代替node,然后\node at(<name>)在 后添加\end{axis}

(x-3)要移动曲线,最简单的方法就是使用而不是将其重新绘制,稍微移动一点x

要绘制一条最多 x 值为 5 的曲线和另一条最多 x 值为 8 的曲线,您必须将您的更改为 8(或更大),并为两个sxmax指定:domain\addplot

\documentclass[12pt]{article}
\usepackage[margin=1.5cm,top=1cm,headheight=16pt,headsep=0.1in,heightrounded]{geometry}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[xmax=8,ymax=10,
               axis lines=middle,
               restrict y to domain=0:13,
               yticklabels=\empty, xticklabels=\empty,
               width=10cm,
               height=10cm,
               enlargelimits]
    \addplot[blue,samples=100,domain=-5:5] {(8*(1-exp(-x))^2)} coordinate(end);
    \addplot[red, samples=100,domain=-2:8] {(8*(1-exp(-(x-3)))^2)};
  \end{axis}
  \node[above right,blue] at(end)
    {\begin{tabular}{c}anharmonic\\oscillator\end{tabular}};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容