'Difference in legend position between ggplot and ggplotly?

I find out an interesting and strange difference between the same chart in ggplot and ggplotly

income_gap_chart <- ggplot(income_gap, aes(x = Country, y = Percent, fill = Income)) + 
geom_bar(position = "dodge", stat = "identity") +
scale_fill_brewer(palette = "Set1") +
coord_flip() +
theme(axis.title.y = element_blank()) +
scale_y_continuous(limits = c(0, 100)) +
theme_tufte() +
theme(axis.title.y = element_blank()) +
theme(legend.position = "bottom")

For ggplot it looks perfect with a legend title at the bottom

enter image description here

But when I wrap this with ggplotly(), the legend starts to behave differently

enter image description here

My problem - I want the first chart in ggplotly format, but cannot fix this issue and legend at the bottom does not work. Ideas?

Thanks!



Solution 1:[1]

Resolved pretty fast with the help of some R experts.

Added this

ggplotly(income_gap_chart) %>% layout(legend = list(orientation = "h", x = 0.4, y = -0.2))

Result:enter image description here

Thanks!

Solution 2:[2]

The solution seemed to drop the legend title as pointed out in the comments. This was easy to fix by including title = ... inside layout():

diamonds_chart <- ggplot(diamonds, aes(x = cut, y = carat, fill = color)) + 
  geom_bar(position = "dodge", stat = "identity")
  
diamonds_chart %>% 
  ggplotly %>% 
  layout(
    legend = list(
      orientation = 'h', x = 0.3, y = -0.1, 
      title = list(text = 'My legend title')
      )
    )

enter image description here

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Anakin Skywalker
Solution 2 hugh-allan