
Масштабный коэффициент factor
для xtick
s не работает с маской ldots ...
. Есть ли решение проблемы?
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
%===============================================================================
\begin{document}
\noindent
\begin{tikzpicture}[
declare function ={
factor=2;
}
]
\begin{axis}[
%xtick = {-2*factor,2*factor}, % This one work
%xtick = {-2,...,2}, % This one work
xtick = {-2*factor,...,2*factor}, % This one doesn't work
]
\addplot+[blue, no marks, domain={-6:6}] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
решение1
Вам необходимо установить /pgf/foreach/parse=true
, см. стр. 989 pgfmanual v3.1.4
Это работает (по крайней мере, в этом случае).
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
%===============================================================================
\begin{document}
\noindent
\begin{tikzpicture}[/pgf/foreach/parse=true,%<-added
declare function ={
factor=2;
}
]
\begin{axis}[
%xtick = {-2*factor,2*factor}, % This one work
%xtick = {-2,...,2}, % This one work
xtick={-2*factor,...,2*factor}, % This one works now
]
\addplot+[blue, no marks, domain={-6:6}] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
Хочу отметить, что я рекомендую не переусердствовать с parse=true
, есть случаи с целыми числами, в которых у меня возникли некоторые трудности.
На всякий случай, если у вас возникнут проблемы с этим предложением из-за того, что какой-то другой, возможно, внутренний цикл вызовет проблемы: вы также можете использовать xtickmin
и xtickmax
, значения которых будут автоматически проанализированы.
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
%===============================================================================
\begin{document}
\noindent
\begin{tikzpicture}[
declare function ={
factor=2;
}
]
\begin{axis}[
xtickmin=-2*factor,
xtickmax=2*factor,
]
\addplot+[blue, no marks, domain={-6:6}] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}