ggplot2: Легенда перекрывает область графика - можно ли вручную настроить положение легенды ?

Допустим, у меня есть набор данных об урожайности моркови с разных полей и разных пород:

carrots<-list(Yield=c(345,226,74,559,288,194),
          Field=c("A","B","C","D","E","F"),
          Breed=rep(c("Long","Short"),each=3))
carrots<-data.frame(carrots)

Я хочу построить столбиковый график, показывающий урожай для каждого поля, окрашенного по породе:

ggplot(carrots,aes(y=Yield,x=Field,fill=Breed)) +
   geom_bar() +
   opts(legend.direction = "horizontal",
        legend.position = "top") +
   labs(fill="")

Но легенда всегда немного перекрывает область графика:

plot with slight legend overlap
(источник: users.utu.fi )

Я пытался вручную настроить положение легенды должно быть за пределами области графика, например, с

opts(legend.position=c(0.5,1.1)

, но тогда поля графика обрезают легенду, и я не уверен, как я могу их отрегулировать. Есть ли более тонкое решение этой проблемы?

5
задан Glorfindel 11 August 2019 в 11:40
поделиться