Estou gerando gráficos para alguns dados, mas o número de ticks é muito pequeno, preciso de mais precisão na leitura.
Existe alguma maneira de aumentar o número de marcações do eixo no ggplot2?
Eu sei que posso dizer ao ggplot para usar um vetor como marcações de eixo, mas o que eu quero é aumentar o número de marcações, para todos os dados. Em outras palavras, quero que o número do tick seja calculado a partir dos dados.
Possivelmente o ggplot faz isso internamente com algum algoritmo, mas não consegui encontrar como ele faz isso, para mudar de acordo com o que eu quero.
by
argumento, para diferentes escalas de números, ou seja, 0,5 é um bom valor para esses dados, cujo intervalo é c (-3,3), mas não é um bom intervalo para dados que variam é c (0,5000). Existe alguma função que calcula isso?max-min/30
um "balde" bastante comum tamanho ... mas isso pode ou não ser um bom ponto de partida para você.scale_x_date(date_breaks = "5 months", date_minor_breaks = "1 months")
coord_cartesian
deve ser usado em vez dexlim
. stackoverflow.com/questions/25685185/…Com base no comentário de Daniel Krizian , você também pode usar a
pretty_breaks
função dascales
biblioteca, que é importada automaticamente:Tudo o que você precisa fazer é inserir o número de ticks desejados
n
.Uma solução um pouco menos útil (como você precisa especificar a variável de dados novamente), você pode usar a
pretty
função interna:fonte
scales
mas não adiciona as funções ao seu espaço para nome. Portanto, você pode chamá-los sem a importação comoscales::pretty_breaks(n = 10)
.Você pode fornecer um argumento de função
scale
e o ggplot usará essa função para calcular os locais dos ticks.fonte
number_ticks
. Isso já foi implementado nopretty_breaks {scales}
. Portanto:ggplot(dat, aes(x,y)) + geom_point() + scale_x_continuous(breaks=pretty_breaks(n=10)) + scale_y_continuous(breaks=pretty_breaks(n=10))
require(scales)
2) isso parece impedir que meus intervalos apareçam em notação científica, portanto 1e6 é alterado para 1000000 ??pretty
sem oscales
pacote, apenas forneça os valores como argumento. Por exemplo:(breaks=pretty(dat$x, n=10))
A próxima versão v3.3.0 do
ggplot2
terá uma opçãon.breaks
para gerar automaticamente quebras parascale_x_continuous
escale_y_continuous
fonte
Além disso,
Funciona para dados do eixo x em escala discreta ou em bin (ou seja, o arredondamento não é necessário).
fonte