eu tenho abaixoggplot
library(ggplot2)
col_define = c('red', 'orange', 'blue', 'lightblue', 'green')
names(col_define) = as.vector(unique(diamonds$cut))
ggplot(diamonds, aes(color)) +
geom_bar(aes(fill = cut)) +
scale_fill_manual(values = col_define, breaks = names(col_define), aesthetics = c("fill")) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position=c(0,1),
legend.justification = c(0,1),
legend.box.margin = margin(5, l = 5, unit = 'mm'),
legend.box = 'horizontal',
legend.box.background = element_rect( fill = alpha('#7f7f7f', .2), size = 0.1, linetype = "solid", color = "#595959"),
axis.text.x = element_text(angle = 30, hjust = 1)
)
Como você pode ver, a legenda não parece estar na posição correta. Quero colocar minha legenda na posição superior esquerda dentro da área de plotagem, mas haverá margem superior e margem esquerda de 5 pixels.
Além disso, a cor da margem e o valor alfa também não parecem estar corretamente visíveis. Além disso, os itens da legenda devem ser colocados horizontalmente
Você poderia ajudar como corrigi-los?
Não tenho 100% de certeza sobre o resultado desejado. Primeiro, para colocar as chaves horizontalmente, você pode usar
guide_legend(nrow = 1)
(legend.box = 'horizontal'
é para organizar várias legendas, não as chaves ou itens das legendas). Em segundo lugar, no que diz respeito ao pano de fundo da lenda. Tem certeza que querlegend.box.background
oulegend.background
em vez disso?Com relação ao posicionamento da legenda, tudo parece bem para mim, exceto que o uso de um vetor numérico para
legend.position
foi descontinuado noggplot2 3.5.0
.