Alterar o formato da chave de legenda para geom_bar no ggplot2

Estou tentando alterar a forma da legenda de um gráfico geom_bar. Eu olhei para várias respostas online, mas descobri que elas não funcionavam nesse caso. Deixe-me explicar o problema:

df1 = data.frame(person = c("person1", "person2", "person3"),
             variable = "variable1",
             value = c(0.5, 0.3, 0.2))

df2 = data.frame(person = c("person1", "person2", "person3"),
             variable = "variable2",
             value = c(-0.3, -0.1, -0.4))

Estou tentando fazer um gráfico de barras empilhado onde um lado é negativo. Usando ggplot2 eu recebo:

library(ggplot2)
ggplot() + geom_bar(data = df1, aes(x = person, y = value, fill = variable), stat = "identity") +
  geom_bar(data = df2, aes(x = person, y = value, fill = variable), stat = "identity") +
  scale_fill_manual(values = c("steelblue", "tomato"), breaks = c("variable1","variable2"),
                labels = c("Variable 1", "Variable 2"))

Em seguida, fica assim:

Agora, à direita, a legenda mostra os quadrados por padrão. Existe uma maneira de mudar isso em um círculo, por exemplo?

Online Eu descobri que isso geralmente funciona é usando

guides(fill = guide_legend(override.aes = list(shape = 1)))

Ou variações semelhantes. No entanto, isso não parece funcionar. Se alguém puder ajudar, isso seria ótimo, estou preso há um bom tempo.

questionAnswers(1)

yourAnswerToTheQuestion