Olá pessoal,
estou há muito tempo (muito mesmo!) tentando colocar tick marks para dentro do gráfico no ggplot2 e simplesmente não consigo! Essa é uma daquelas regras irritantes da revista que você tem que seguir a qualquer custo..
Já procurei as dicas no stakoverflow, mas nenhuma funciona mais porque o tal de argumento axis.tick.margin não existe mais na versão atual do ggplot2.
Por acaso, alguém já solucionou este problema?
Meu código está assim:
ggplot(aes(y = mean, x = habitat), data=f2.boot.b) +
facet_wrap(~species2, ncol=3) +
theme(strip.text.x = element_text(face="italic")) +
geom_point(size=3) +
geom_linerange(aes(x=habitat, y=mean, ymin=sd.low, ymax=sd.up), alpha=0.2, size = 4, data=f2.boot.b) +
ylab("Log(Abundance)") + xlab("") +
theme(axis.text.y = element_text(size=14),
axis.text.x = element_text(size=14),
axis.title.y = element_text(size=15),
axis.title.x = element_text(size=14),
panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
axis.ticks.length=unit(-0.25, "cm"), # aqui mora o problema! se eu coloco negativo, ele muda a posição de toda a borda do eixo
axis.text=element_text(margin=margin(1,1,1,5, "pt")), # o argumento margin simplesmente não serve para nada...
panel.border = element_rect(colour = "black", fill = NA, ))
dizem para eu colocar o axis.ticks.margin=unit(0.5, "cm”) para resolver o problema do axis.tick.length mudar a posição da borda do eixo, mas a resposta é:
axis.ticks.margin is deprecated. Please set margin property of axis.text instead.
fui tentar usar o axis.text = element_text(margin = margin(1,1,1,5, “pt”)), mas qualquer número que eu coloque no margin não muda nada!!
Se alguma alma caridosa puder/quiser me ajudar posso mandar a tabelinha de dados.
Obrigada e desculpe atrapalhar,
Melina de Souza Leite
-----
Bióloga MSc em Ecologia
Especialista em Laboratório
Dep. de Ecologia IB
Universidade de São Paulo (USP)