HOWTO · R
ylim() e xlim() in R
Questo tutorial spiega come usare in modo efficace ylim() e xlim() in R per impostare i limiti degli assi nelle visualizzazioni dei dati. Impara a migliorare i tuoi grafici con esempi chiari e spiegazioni dettagliate. Scopri l'importanza di controllare i limiti degli assi per evidenziare le tendenze principali dei dati e migliorare la tua capacità di raccontare visivamente i dati.
In questa pagina
Nella grafica di base di R, imposta l’intervallo dell’asse verticale con ylim e quello dell’asse orizzontale con xlim. Passa uno dei due argomenti, o entrambi, a una funzione di tracciamento come plot() come coppia di limiti inferiore e superiore. L’esempio seguente mostra entrambi i limiti in un unico grafico a dispersione, seguito da indicazioni per regolare ciascun asse e per ggplot2.
Cosa sono ylim() e xlim()?
Impostare i limiti degli assi in un grafico di base di R significa passare xlim per l’asse orizzontale, ylim per l’asse verticale, o entrambi, a una funzione di tracciamento come plot(). Ciascun argomento accetta un vettore numerico con il limite inferiore e quello superiore. Questo esempio completo usa gli stessi dati per mostrare entrambi i limiti insieme:
x <- 1:10
y <- c(2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
# Set both visible axis ranges in a base R scatter plot.
plot(x, y, xlim = c(2, 8), ylim = c(0, 30),
xaxs = "i", yaxs = "i",
main = "Selected ranges for x and y")
Gli argomenti xlim e ylim forniscono gli intervalli richiesti. La grafica di base aggiunge normalmente una piccola espansione a ciascuna estremità di un asse; xaxs = "i" e yaxs = "i" disattivano questa aggiunta, quindi questo esempio mostra esattamente i limiti forniti, da 2 a 8 e da 0 a 30. I punti con valori x pari a 1, 9 e 10 cadono al di fuori dell’intervallo orizzontale mostrato. Il codice usa la grafica di base, inclusa in R; non richiede alcun pacchetto aggiuntivo. L’esempio viene eseguito correttamente e non produce testo sull’output standard né sull’output di errore standard.
Nella grafica di base di R, ylim e xlim sono argomenti che permettono di scegliere gli intervalli tracciati dell’asse y e dell’asse x. Quando si parla di queste opzioni, i nomi vengono spesso scritti come ylim() e xlim(), ma in una chiamata a plot() i limiti vengono forniti agli argomenti con nome, ad esempio ylim = c(0, 30). Il primo numero è il limite inferiore e il secondo è il limite superiore. Normalmente R seleziona gli intervalli dai dati forniti; limiti espliciti sono utili quando vuoi una scala coerente tra più grafici o vuoi concentrare l’attenzione su un intervallo particolare.
Questi argomenti fanno parte delle funzioni grafiche di base come plot(). Non sono parametri universali condivisi da ogni sistema di tracciamento di R. In particolare, ggplot2 usa un’interfaccia diversa, descritta di seguito.
Usare ylim() per impostare i limiti dell’asse Y
Usa l’argomento ylim per impostare l’intervallo verticale. Ad esempio, plot(x, y, ylim = c(0, 30)) fornisce 0 e 30 come limiti dell’asse y, lasciando che l’intervallo dell’asse x venga scelto dai dati x. Con lo stile predefinito yaxs = "r", la grafica di base aggiunge un margine all’intervallo mostrato; aggiungi yaxs = "i" quando l’asse deve mostrare esattamente i limiti forniti. I limiti devono usare le stesse unità dei valori y tracciati. Un intervallo più ampio può lasciare spazio alle etichette o rendere confrontabili più grafici; un intervallo più stretto può rendere più facili da vedere le variazioni all’interno di un intervallo selezionato.
Nella grafica di base, i punti o le porzioni di oggetti grafici al di fuori della regione di tracciamento scelta non sono visibili in quella regione. Scegli i limiti tenendo presenti i dati e il confronto che vuoi che i lettori facciano. Un grafico può comunque essere disegnato con l’intervallo d’asse richiesto anche quando alcune osservazioni si trovano oltre di esso, quindi il pannello visibile non deve essere confuso con l’intervallo completo dei dati.
Usare xlim() per impostare i limiti dell’asse X
L’argomento xlim controlla l’intervallo orizzontale. Ad esempio, plot(x, y, xlim = c(2, 8)) fornisce 2 e 8 come limiti dell’asse x, mentre plot() sceglie l’intervallo dell’asse y dai dati y. Lo stile predefinito xaxs = "r" aggiunge un margine all’intervallo mostrato; usa xaxs = "i" per mostrare esattamente i limiti forniti. Questo è utile per concentrarsi su un intervallo di tempo, su un sottoinsieme di valori misurati o su una scala orizzontale comune a più grafici.
Come per ylim, fornisci i limiti nelle unità della variabile x e, per il consueto asse crescente, in ordine dal più basso al più alto. Se le osservazioni si trovano al di fuori dell’intervallo visibile, non compaiono nella regione di tracciamento. Confronta l’intervallo selezionato con i dati originali, in modo che una vista focalizzata non nasconda il contesto di cui il lettore ha bisogno.
Combinare ylim() e xlim() per un controllo maggiore
Passa entrambi gli argomenti alla stessa chiamata della grafica di base per definire un’area di visualizzazione rettangolare, come nell’esempio iniziale. Imposta xlim in base ai valori orizzontali che vuoi mostrare e ylim in base ai valori verticali che vuoi mostrare. Per impostazione predefinita, la grafica di base espande leggermente ciascun intervallo; includi xaxs = "i" e yaxs = "i" quando vuoi che gli assi mostrati terminino esattamente ai limiti forniti. Quando confronti più grafici, usare gli stessi limiti rende le loro scale più facili da confrontare; quando esplori un singolo grafico, scegli limiti che conservino il contesto necessario per interpretare l’andamento.
Il comportamento dipende dal sistema di tracciamento. In ggplot2, i limiti degli assi vengono comunemente specificati con scale come scale_x_continuous(limits = c(2, 8)) e scale_y_continuous(limits = c(0, 30)). I limiti di scala escludono i valori fuori intervallo prima che vengano disegnati i livelli successivi del grafico o i riepiloghi statistici, il che può influire su tali risultati. Per uno zoom che modifica solo la vista e conserva i dati per i calcoli, usa coord_cartesian(xlim = c(2, 8), ylim = c(0, 30)). Queste opzioni di ggplot2 non sono argomenti xlim e ylim di plot(); usa l’interfaccia del sistema di tracciamento del tuo codice.
Conclusione
Per un grafico di base di R, imposta l’intervallo orizzontale con xlim e quello verticale con ylim; passa entrambi quando devi controllare entrambi gli assi. Seleziona limiti che supportino il confronto e ricorda che le osservazioni al di fuori della regione visibile potrebbero non comparire. In ggplot2, usa i limiti di scala o coord_cartesian() a seconda che tu voglia che i limiti influiscano sui dati tracciati o solo sulla vista.
Domande frequenti
-
Posso impostare i limiti di entrambi gli assi in un unico grafico? Sì. Includi
xlim = c(lower_x, upper_x)eylim = c(lower_y, upper_y)nella stessa chiamata della grafica di base. -
Come dovrei scegliere i limiti? Usa le unità e l’intervallo di ciascuna variabile, i confronti che i lettori devono fare e se più grafici devono condividere una scala. Verifica che la vista scelta lasci abbastanza contesto per interpretare i dati.
-
Cosa succede ai punti al di fuori dei limiti? Nella grafica di base, si trovano al di fuori della regione di tracciamento visibile e non vengono mostrati lì. In ggplot2, i limiti di scala possono rimuovere i valori fuori intervallo dai calcoli successivi;
coord_cartesian()ingrandisce la vista conservando i dati per quei calcoli. -
xaxseyaxssono alternative axlimeylim? Controllano l’espansione degli assi nella grafica di base, ad esempio il margine attorno all’intervallo tracciato. Usaxlimeylimper fornire i limiti degli assi; lo stile d’asse predefinito può espandere gli intervalli mostrati. Impostaxaxs = "i"eyaxs = "i"quando gli assi mostrati devono terminare esattamente a quei limiti.