
У меня был график, который, как я помню, прекрасно работал в прошлом, и вдруг я заметил, что все масштабируется до крошечной точки внизу оси Y. Я не уверен, изменилось ли что-нибудь вообще, и не могу найти проблему.
\begin{tikzpicture}
\begin{axis}[
axis lines = middle, %% instead of above two lines this one is enough
scaled ticks=false,
axis equal,
scale=0.5,
y=1cm,
x=3cm,
grid=none,
xmax=2.5,xmin=-0.01,
ymin=-1,ymax=5.2,
xlabel=$x$,ylabel=$y$,
xtick={0,0.5,1,1.5,2},
ytick={-1,0,1,2,3,4},
ylabel = $U(r)$,
xlabel = $r(r_M)$,
]
\draw[red, thick] (0, 5)--(0, 0)--(2.5, 0);
\draw[domain=0.84:2.5,smooth,variable=\x,blue, thick] plot ({\x},{0.1*\x^(-12)-0.1*\x^(-6)});
\end{axis}
\end{tikzpicture}
решение1
Начиная с pgfplots
версии 1.11 axis cs
это система координат по умолчанию. Но вы должны установить как минимум 1.11
как compat
немедленно после загрузки пакета pgfplots
. Если вы не установите значение для compat
тогда pre 1.3
используется.
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}% comment this to see the issue
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines = middle, %% instead of above two lines this one is enough
scaled ticks=false,
axis equal,
scale=0.5,
y=1cm,
x=3cm,
grid=none,
xmax=2.5,xmin=-0.01,
ymin=-1,ymax=5.2,
xlabel=$x$,ylabel=$y$,
xtick={0,0.5,1,1.5,2},
ytick={-1,0,1,2,3,4},
ylabel = $U(r)$,
xlabel = $r(r_M)$,
]
\draw[red, thick] (0, 5)--(0, 0)--(2.5, 0);
\draw[domain=0.84:2.5,smooth,variable=\x,blue, thick] plot ({\x},{0.1*\x^(-12)-0.1*\x^(-6)});
\end{axis}
\end{tikzpicture}
\end{document}
Но я бы использовал
\plot[domain=0.84:2.5,blue, thick] {0.1*x^(-12)-0.1*x^(-6)};
вместо второй \draw
команды.