Aumentare il numero di asse zecche

Sto generazione di grafici di dati, ma il numero di zecche è troppo piccolo, ho bisogno di più precisione nella lettura.

C’è qualche modo per aumentare il numero di asse zecche in ggplot2?

So che posso dire ggplot per l’utilizzo di un vettore come asse di zecche, ma quello che voglio è quello di aumentare il numero di zecche, per tutti i dati. In altre parole, voglio il numero di tick essere calcolate dai dati.

Forse ggplot farlo internamente con qualche algoritmo, ma non riuscivo a trovare come si fa a cambiare in base a quello che voglio.

OriginaleL’autore João Daniel | 2012-07-04

4 Replies
  1. 143

    È possibile ignorare ggplots default scale modificando scale_x_continuous e/o scale_y_continuous. Per esempio:

    library(ggplot2)
    dat <- data.frame(x = rnorm(100), y = rnorm(100))
    
    ggplot(dat, aes(x,y)) +
      geom_point()

    Dà è questo:

    Aumentare il numero di asse zecche

    E prevalente la bilancia in grado di dare qualcosa di simile a questo:

    ggplot(dat, aes(x,y)) +
      geom_point() +
      scale_x_continuous(breaks = round(seq(min(dat$x), max(dat$x), by = 0.5),1)) +
      scale_y_continuous(breaks = round(seq(min(dat$y), max(dat$y), by = 0.5),1))

    Aumentare il numero di asse zecche

    Se si desidera semplicemente “zoomare” su una parte specifica di una trama, guardare xlim() e ylim() rispettivamente. Buona conoscenza può anche essere trovato qui per capire gli altri argomenti.

    In realtà il punto sarebbe quello di “generalizzare” il by argomento, a diverse scale di numeri, cioè, 0.5 è un buon valore per i dati che la gamma è c(-3,3), ma non è una buona scelta per i dati che la gamma è c(0,5000). C’è qualche funzione che calcola?
    Voglio dire ggplot fa un lavoro decente a questo automaticamente. Se non è la produzione di un soddisfacente dei risultati, non sono sicuro che c’è un costruito in funzione di offrire qualcosa di diverso. Il livello di dettaglio che si ‘ ll desidera essere specifico per la tua trama, ma forse pensare che attraverso alcuni casi di test e il vostro specifico livello di dettaglio di identificare un modello…se questo fosse un boxplot, qualcosa di simile a max-min/30 è un grazioso comune “secchio”…ma che può o non può essere un buon punto di partenza per voi.
    Per quanto riguarda l’categorico valori sull’asse x, come i mesi dell’anno per le serie?

    OriginaleL’autore Chase

  2. 107

    È possibile utilizzare il built-in pretty funzione:

    ggplot(dat, aes(x,y)) + geom_point() +
    scale_x_continuous(breaks = pretty(dat$x, n = 10)) +
    scale_y_continuous(breaks = pretty(dat$y, n = 10))

    Base Daniel Krizian commento, è anche possibile utilizzare il pretty_breaks funzione dal scales biblioteca, che viene importato automaticamente:

    ggplot(dat, aes(x,y)) + geom_point() +
    scale_x_continuous(breaks = scales::pretty_breaks(n = 10)) +
    scale_y_continuous(breaks = scales::pretty_breaks(n = 10))

    Tutto quello che dovete fare è inserire il numero di zecche voluto.

    Questo è chiaramente la migliore risposta! Btw ggplot già importazioni scales ma non aggiunge le funzioni di uno spazio dei nomi. Si può, pertanto, essere chiamate senza l’importazione come scales::pretty_breaks(n = 10).

    OriginaleL’autore slhck

  3. 56

    È in grado di fornire un argomento di una funzione di scale, e ggplot utilizzare
    che funzione per calcolare il segno di spunta posizioni.

    library(ggplot2)
    dat <- data.frame(x = rnorm(100), y = rnorm(100))
    number_ticks <- function(n) {function(limits) pretty(limits, n)}
    
    ggplot(dat, aes(x,y)) +
      geom_point() +
      scale_x_continuous(breaks=number_ticks(10)) +
      scale_y_continuous(breaks=number_ticks(10))
    Non c’è bisogno di creare la propria funzione number_ticks. Questo è già stato implementato in pretty_breaks {scales}. Quindi: ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks=pretty_breaks(n=10)) + scale_y_continuous(breaks=pretty_breaks(n=10))
    Krizian: 1) ha bisogno di require(scales) 2) questo sembra prevenire pause apparire in notazione scientifica, quindi 1e6 è cambiato a 1000000 ??
    È possibile utilizzare la base di R pretty senza scales pacchetto, basta fornire i valori come argomento. Per esempio: (breaks=pretty(dat$x, n=10))
    Se ggplot2 è lavorare, scale è disponibile. ggplot2 non funziona senza scale.

    OriginaleL’autore crowding

  4. 2

    Inoltre,

    ggplot(dat, aes(x,y)) +
    geom_point() +
    scale_x_continuous(breaks = seq(min(dat$x), max(dat$x), by = 0.05))

    Opere per cestinate o discreta scala di dati dell’asse x (I. e., arrotondamento non è necessario).

    OriginaleL’autore bmc

Lascia un commento