Por que o pgfplots plota funções apenas até x = 5 e y = 5, mas não mais?
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
%%%<
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{5pt}
%%%>
\begin{document}
\begin{tikzpicture}
\begin{axis}[samples=100,ymin=0,ymax=10,xmin=0,xmax=20]
\addplot [thick] plot (\x, {1/(1 + exp(-0.6*(\x - 12)))});
\addplot plot (\x, {\x});
\end{axis}
\end{tikzpicture}
\end{document}
Responder1
Existem muitas opções de "domínio" em pgfplots
. O que você está perguntando é simplesmente domain
, que especifica quais valores de x
(você não precisa da barra invertida se estiver usando pgfplots
) são usados na plotagem; por padrão, temos domain = -5:5
, que é o que o autor aparentemente considera razoável para gráficos típicos. Existe uma correspondência y domain
para funções de duas variáveis.
Este domínio é bastante diferente dos limites estabelecidos por xmin
e xmax
. Embora domain
sejam definidas por gráfico, essas chaves são definidas por eixo e apenas limitam o realdesenhoa esses limites. Existem correspondentes ymin
e ymax
. Eles serão calculados automaticamente pgfplots
se não forem fornecidos, mas é necessário para uma imagem realmente polida defini-los você mesmo. Observe que isso y domain
faznãotem algo a ver com ymin
e ymax
em um gráfico de funções de uma variável, porque determina as entradas da variável inexistente y
. Em vez disso, ymin
e ymax
, se fossem determinados automaticamente, seriam calculados a partir dos valores gerados pelas funções plotadas em domain
.
Há mais! Meus favoritos são restrict x to domain
e restrict y to domain
, que são filtros com a mesma sintaxe de entrada de domain
. Estes não determinam quais números são usados nas variáveis; eles determinam quais valores são usados no gráfico. Eles são extremamente úteis com funções paramétricas ou incontroláveis; isto é \addplot {1/x};
, com o padrão domain = -5:5
, produzirá uma assíntota bastante horrível, x = 0
bem como (com o padrão ymin
e ymax
) uma visão muito distorcida dos eixos. Mas definir restrict y to domain = -5:5
este gráfico simplesmente eliminará os valores grandes, removendo a assíntota e também reduzindo a imagem para um quadrado proporcional.
Ou, alternativamente, um gráfico paramétrico como \addplot ({exp(x)},{exp(-x)});
(uma maneira engraçada de desenhar a mesma coisa apenas no primeiro quadrante), que é difícil de ajustar diretamente devido à conexão logarítmica entre os valores no gráfico e os valores da variável. Para isso, tanto o tamanho padrão domain
quanto o tamanho padrão dos eixos são inadequados; Eu normalmente deixo domain
como está (o que dá números que são muito grandes em ambas as coordenadas) e então defino restrict x to domain
e restrict y to domain
de acordo para cortar bem a imagem. Isso não quer dizer que seja uma boa ideia estarcompletamentealheio domain
, já que esses pontossãocomputado... apenas não usado.
Essas chaves de filtro são diferentes das teclas min e max porque, na verdade, ignoram os valores filtrados, em vez de simplesmente removê-los da imagem. Isto é essencial se esses valores forem maiores do que o TeX é capaz de calcular.
Finalmente, existem samples
ou sample at
, que existem mutuamente exclusivamente domain
e dizem quantos, ou mesmoexatamenteem quais valores x
calcular valores. Esta pode ser uma alternativa às restrict to domain
chaves, se você escolher as amostras com cuidado para evitar entradas excepcionais. Eles também são úteis para ajustar o gráfico em torno de locais que variam rapidamente no gráfico, que de outra forma pareceriam bastante instáveis. Eles também interagem com as restrict to domain
chaves no sentido de que, digamos,
\addplot[
domain = -5:5,
samples = 11,
restrict x to domain = -1:1,
restrict y to domain = -1:1
] ({exp(x)},{exp(-x)});
serão avaliados exatamente 11 pontos, ou seja, ({exp(-5)},{exp(5)})
através de , mas serão plotados ({exp(5)},{exp(-5)})
apenas aqueles com ambas as coordenadas no intervalo . [-1,1]
Infelizmente, o único ponto dessa propriedade é ({exp(0)},{exp(0)}) = (1,1)
, então seu terreno ficará bastante vazio. Os pontos não plotados nem sequer são usados para ancorar curvas interpoladas! Portanto, as chaves de filtro não são uma panacéia.
Minhas fotos tendem a definirtodosdessas chaves, já que cada uma delas afeta o desenho de maneira diferente.