'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
But when I wrap this with ggplotly(), the legend starts to behave differently
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))
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')
)
)
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 |