在ggplotly facet_grid中更改悬停

时间:2016-11-30 16:27:57

标签: r ggplot2 plotly facet

我的数据框如下:

DATE<- as.Date(c('2016-11-17','2016-11-17','2016-11-17','2016-11-17', '2016-11-18', '2016-11-18', '2016-11-18','2016-11-18'))

TEST<-c('test', 'test','test','test','test','test','test','test')

TYPE<-c('type1', 'type1', 'type2', 'type2', 'type1', 'type1','type2', 'type2')

CATEGORY<-c('A', 'B','A', 'B','A', 'B','A', 'B' )

Revenue<-c(1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000)

df1<-data.frame(DATE, TEST, TYPE, CATEGORY, Revenue)

df1
        DATE TEST  TYPE CATEGORY Revenue
1 2016-11-17 test type1        A    1000
2 2016-11-17 test type1        B    2000
3 2016-11-17 test type2        A    3000
4 2016-11-17 test type2        B    4000
5 2016-11-18 test type1        A    5000
6 2016-11-18 test type1        B    6000
7 2016-11-18 test type2        A    7000
8 2016-11-18 test type2        B    8000

然后当我使用plotly函数和ggplotggplotly)来执行facet_grid时,它看起来如下所示:

hp <- ggplot(df1, aes(x=DATE, y=Revenue)) + 
geom_bar(stat="identity") +  
facet_grid(`TYPE`~CATEGORY, scales = "free", space = "free") +
scale_y_continuous(name="Revenue", labels = dollar)

enter image description here

如何更改此处的悬停部分以将收入显示为美元金额?此外,还有一个很好的优点是如何更改条形的颜色以表示DATE变量。

最重要的是,我需要更改悬停部分,以便将收入表示为美元金额。

任何帮助都会很棒,谢谢!

1 个答案:

答案 0 :(得分:1)

我只能建议肮脏的工作

df1$Revenue2 <- df1$Revenue
df1$Revenue <- paste0(df1$Revenue2, '$')

hp <- ggplot(df1, aes(x=DATE, y=Revenue2, label = Revenue)) + 
    geom_bar(stat="identity") +  
    facet_grid(`TYPE`~CATEGORY, scales = "free", space = "free") +
    scale_y_continuous(name="Revenue") +
    theme(legend.position="none")

ggplotly(hp, tooltip = c("x", "label"))

关于着色,在添加fill参数后,由于某些原因,它会删除悬停文本。这很奇怪。