
Estou tentando traçar o conjunto viável de um problema de maximização. Uma das restrições está incompleta, pois deve se estender até o eixo x.
Além disso, acho que o center
ambiente faz com que toda a figura + legenda seja centralizada em relação à página, mas eu esperava que a figura também fosse centralizada em relação à legenda.
O MWE é
\documentclass[a4paper]{article}
\usepackage[font=footnotesize,labelfont=bf]{caption}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\begin{document}
\begin{center}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
ticks=none,
axis x line=bottom,
axis y line=left,
xmin=0,xmax=1.2,
ymin=0,ymax=1.3]
\addplot[
domain = 0:sqrt(33/56),
samples =200,
smooth,
blue,
thick
] {sqrt((33/8-7*x^2)/3)};
\end{axis}
\end{tikzpicture}
\caption{This is text just to show that the figure is not centered with respect to the caption.}
\end{figure}
\end{center}
\end{document}
Responder1
Estendendo a resposta de @RaffaeleSantoro:
Usando samples = 800
ajuda.
Além disso, não coloque figure
dentro de um center
ambiente, mas use \centering
dentro figure
assim:
\documentclass[a4paper]{article}
\usepackage[font=footnotesize,labelfont=bf]{caption}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
ticks=none,
axis x line=bottom,
axis y line=left,
xmin=0,xmax=1.2,
ymin=0,ymax=1.3]
\addplot[
domain = 0:sqrt(33/56),
samples =800,
smooth,
blue,
thick
] {sqrt((33/8-7*x^2)/3)};
\end{axis}
\end{tikzpicture}
\caption{This is text just to show that the figure is not centered with respect to the caption.}
\end{figure}
\end{document}
Responder2
Não porque o último ponto não tenha sido “alcançado”. A função não está definida à direita de sqrt(33/56)
e com a precisão finita do computador também não é possível avaliar a função sqrt(33/56)
. -O ponto foi descartado - veja o log de compilação. Uma possibilidade é aumentar enormemente o número de amostras, de modo que o penúltimo ponto forneça um resultado aceitável. Uma outra maneira é definir o ponto separadamente com a y filter
Assim:
\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ticks=none,
axis x line=bottom,
axis y line=left,
xmin=0,xmax=1.2,
ymin=0,ymax=1.3]
\addplot[
domain=0:sqrt(33/56),
samples=200,
smooth,
blue, thick,
y filter/.expression={x==sqrt(33/56)?0:y},
] {sqrt((33/8-7*x^2)/3)};
\end{axis}
\end{tikzpicture}
\end{document}