Olá, este código simples (e todos os meus scripts desta manhã) começou a me dar um título fora do centro no ggplot2
Ubuntu version: 16.04
R studio version: Version 0.99.896
R version: 3.3.2
GGPLOT2 version: 2.2.0
Eu instalei recentemente o acima esta manhã para tentar corrigir isso ....
dat <- data.frame(
time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
total_bill = c(14.89, 17.23)
)
# Add title, narrower bars, fill color, and change axis labels
ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) +
geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") +
guides(fill=FALSE) +
xlab("Time of day") + ylab("Total bill") +
ggtitle("Average bill for 2 people")
... + theme(plot.title = element_text(hjust = 0.5))
Respostas:
Nas notícias de lançamento de
ggplot 2.2.0
: "O título principal da trama agora está alinhado à esquerda para melhor funcionar melhor com uma legenda" . Veja também oplot.title
argumento em?theme
: "alinhado à esquerda por padrão".Como apontado por @J_F, você pode adicionar
theme(plot.title = element_text(hjust = 0.5))
para centralizar o título.fonte
... theme(plot.title = element_text(hjust = 'center'))
, recebo as mensagens de aviso de erro:1: In unit(rep(xp, n), "npc") : NAs introduced by coercionv2: In validDetails.text(x) : NAs introduced by coercion
e nenhum título. Isso é um inseto?hjust
deve ser numérico.theme(plot.title = element_text(hjust = 0.5))
, mas não deu certo, é estranho.Como indicado na resposta de Henrik , os títulos são alinhados à esquerda por padrão, começando com o ggplot 2.2.0. Os títulos podem ser centralizados, adicionando-o à plotagem:
No entanto, se você criar muitos gráficos, pode ser entediante adicionar essa linha em qualquer lugar. Pode-se também mudar o comportamento padrão do ggplot com
Depois de executar esta linha, todos os gráficos criados depois usarão a configuração do tema
plot.title = element_text(hjust = 0.5)
como padrão:Para voltar às configurações padrão originais do ggplot2, você pode reiniciar a sessão R ou escolher o tema padrão com
fonte
O
ggeasy
pacote tem uma função chamadaeasy_center_title()
para fazer exatamente isso. Acho isso muito mais atraentetheme(plot.title = element_text(hjust = 0.5))
e muito mais fácil de lembrar.Observe que, ao escrever esta resposta, você precisará instalar a versão de desenvolvimento
ggeasy
do GitHub para usá-loeasy_center_title()
. Você pode fazer isso executandoremotes::install_github("jonocarroll/ggeasy")
.fonte