ggplotly на geom_bar иordin_flip, кажется, не удается - PullRequest
0 голосов
/ 06 мая 2018

Я могу построить geom_bar так, как хочу, но когда я пытаюсь обернуть его функцией ggplotly, он не работает. Кто-нибудь знает хитрость, чтобы заставить это работать?

library(ggplot2)
library(plotly)

# My df dataset
a=runif(10, min = 0, max = 1)
b=runif(10, min = -1, max = 0)
df=data.frame("p"=c(a,b),
           "g"=rep(c("a","b"),each=10),
           "type"=c(letters[1:10],letters[1:10]))


# Build the g plot
g <- ggplot(df,
             aes(x = as.factor(type), y = p, fill=g)) + 
  geom_bar(data=df[df$g == "a",] ,stat = "identity") + 
  geom_bar( data=df[df$g == "b",] ,stat = "identity") +
  coord_flip() + 
  scale_y_continuous(breaks = seq(-1, 1, 0.25), 
                     labels = paste0(abs(seq(-1, 1, 0.25)))) + 
  xlab("") +
  theme_bw()

# plot it the regular way
g

enter image description here

# plot it the ggplotly way
ggplotly(g)

enter image description here

1 Ответ

0 голосов
/ 06 мая 2018

Проблема может заключаться в разделении двух вызовов geom_bar - на самом деле вам не нужно делать два из них.

Также обратите внимание, что geom_col() делает то же самое, что и geom_bar(stat = "identity").

Попробуйте это:

g <- df %>%
    ggplot(aes(x = type, y = p, fill = g)) +
        geom_col() +
        coord_flip()

ggplotly(g)

Добавьте обратно в свое масштабирование и т. Д. Я просто отбросил все остальное для простоты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...