Как сохранить оба ряда центра легенды выровненными и расположенными в центре сюжета, если legend.position = "top" - PullRequest
0 голосов
/ 03 апреля 2020

Когда я использую

legend.position = "top"

Я могу сделать центр легенды выровненным, но расположенным слева.

Когда я использую

legend.position=c(.1, .9)

Я могу расположить центр легенды, но выровнять по левому краю (манипулируя этими числами).

Ничто из того, что я хочу.

Например

dat<-structure(list(Name = c("A", "B", "C", "D"), Income = c(50, 
101, 1001, 600), Members = c(10, 12, 14, 16), Status = c("New", "Old", "New", "Old")), row.names = c(NA, 
-4L), class = "data.frame")

View(dat)

ggplot()+ 
 geom_point(data=dat,aes(x=Name,y=Income,colour=Status,
             size= Members), 
             shape = 20) +
  theme(legend.title = element_blank(),
        legend.position = "top",  #this keeps the legend center aligned but left positioned
        #legend.position=c(.1, .9), #manipulating these numbers I can put the legend center aligned but left justified
        legend.box = "vertical",
        legend.direction = "horizontal",
        legend.spacing.x = unit(0.1, 'cm'),
        legend.spacing.y = unit(0.1, 'mm'))+ 
        guides(fill=guide_legend(nrow=2))

enter image description here

Спасибо

...