Re: Il disegno programmato nell’Arte di scrivere con LaTeX

#72671
Up
0
Down
::

lorenzo.pantieri” post=72258Un’altra domanda. Mi seorprende il comportamento del valore “middle”.
`\documentclass{article}
\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture}
\begin{axis}[
axis x line=middle,
axis y line=left
]
\addplot [thick,blue] {x^2};
\end{axis}
\end{tikzpicture}

\end{document}`
Come vedete, l’asse x non è “in mezzo”, come il nome suggerisce.

Un altro esempio:
`\begin{tikzpicture}
\begin{axis}[
axis x line=bottom,
axis y line=middle
]
\addplot [
thick,
blue,
domain=0:2*pi
]
{sin(deg(x))};
\end{axis}
\end{tikzpicture}
`
Come vedete, questa volta è l’asse y a non essere al centro (è a sinistra).

Questo è ancora più strano.
`\begin{tikzpicture}
\begin{axis}[
axis x line=middle,
axis y line=middle
]
\end{axis}
\end{tikzpicture}`
Come vedete, né l’asse x né l’asse y sono in mezzo: l’asse y è a destra, l’asse y è in basso.

Sul manuale ho trovato che

The case center is a synonym for middle, both draw the line through the respective coordinate 0. If this coordinate is not part of the axis limit, the lower axis limit is chosen instead.

ma non ho proprio capito che significa. Da quel poco che ho capito, “middle” cerca di mettere l’asse al centro, ma se ciò dovesse creare la presenza di quadranti vuoti, allora l’asse x viene messo in basso e l’asse y viene messo a sinistra, se necessario. Ho detto bene? Questa cosa vorrei capirla per bene, ecco!

Un’altra cosa che non ho capito è questa (è tratta dal manuale di pgfplots, pagina 168):
`axis lines=box left middle center right none`
La chiave “axis line”, da quel che ho capito, imposta il formato di entrambi gli assi contemporaneamente. Che senso ha dire che entrambi gli assi devono essere messi a destra (“right”) o a sinistra (“left”)? A destra e a sinistra ci potrà andare l’asse y, non l’asse x!

Ah, “middle” e “center” sono sinonimi, dunque?

Grazie,
L.

Il valore “middle” non fa altro che far passare l’asse per la coordinata 0 dell’altro asse. Se la coordinata 0 non fa parte del “dominio” dei punti dell’asse viene scelto il limite inferiore di questo “dominio”. In tutti i casi se selezioni un dominio per entrambi gli assi dove lo 0 sia compreso tra gli estremi del dominio, avrai che entrambi gli assi passeranno per l’origine.
Di conseguenza
`axis x line=middle (oppure center)`
fa si che l’asse x passi per la coordinata 0 dell’asse y. Nel caso in cui i valori sull’asse y vadano da 20 a 40, l’asse x passerà per il punto 20.
La chiave “axis line” invece vale per tutti e due gli assi, solamente che bisogna “guardarli” nel verso della freccia. In pratica sinistra e destra sono definiti per un osservatore che cammina lungo l’asse x muovendosi verso + infinito.

Ciao,
Roberto

Go to top