ggplotly 的交互和格式问题
Posted
技术标签:
【中文标题】ggplotly 的交互和格式问题【英文标题】:Issues with interactions and formatting of ggplotly 【发布时间】:2017-06-15 22:52:39 【问题描述】:另一个问题迫使我在 ggplotly 中尝试一些东西。我使用了那个问题的代码。我对输出感兴趣,而不是内容。我看到输出格式和项目不起作用的问题。
我在 ggplot 中有“简单”的情节,想用 ggplotly 包装它。我使用 fill= 指定条形颜色,当我这样做时,条形不活动就会消失。
library(ggplot2)
library(plotly)
cnt <-c(2,1)
date <- c("2016-01-05 13:53:43","2016-01-15 09:33:40")
xx.df <- data.frame(date,cnt)
xx.df$datep <- as.Date(xx.df$date,format="%Y-%m-%d %H:%M:%S")
xx.df$datea <- as.character(xx.df$date,format="%Y-%m-%d %H:%M:%S")
xx.df$status <- as.factor(c("Success","Fail"))
pa <- ggplot(xx.df,aes(x=datea,y=cnt,fill=status))
pa <- pa+geom_bar(stat="identity")
print(ggplotly(pa))
1) 我无法单击以使用图例删除系列,两个条都消失了。 2) 鼠标悬停不存在。
当我删除 fill= 时,我得到一个没有图例的灰色图。但是鼠标悬停有效..
pag <- ggplot(xx.df,aes(x=datea,y=cnt))
pag <- pag+geom_bar(stat="identity")
print(ggplotly(pag))
我使用 fill= 的方式有问题吗?我正在使用 plotly 4.5.6,ggplot2 2.2.1
谢谢,
理查德
【问题讨论】:
【参考方案1】:ggplotly 似乎存在问题,甚至 plotly 需要为每个组提供两个结果。当组只有 1 个元素时。在这种情况下“失败”。鼠标悬停在失败时不起作用。
library(ggplot2)
library(plotly)
cnt <-c(2,1,3)
date <- c("2016-01-05 13:53:43","2016-01-15 09:33:40","2016-01-18 13:53:43")
xx.df <- data.frame(date,cnt)
xx.df$datep <- as.Date(xx.df$date,format="%Y-%m-%d %H:%M:%S")
xx.df$datea <- as.character(xx.df$date,format="%Y-%m-%d %H:%M:%S")
xx.df$status <- as.factor(c("Success","Fail","Success"))
pa <- ggplot(xx.df,aes(x=datea,y=cnt,fill=status))
pa <- pa+geom_bar(stat="identity")
print(ggplotly(pa))
为每个组添加至少 2 个,一切正常。所有栏都有鼠标悬停。 库(ggplot2)
library(plotly)
cnt <-c(2,1,3,4)
date <- c("2016-01-05 13:53:43","2016-01-15 09:33:40","2016-01-18 13:53:43","2016-01-25 13:53:43")
xx.df <- data.frame(date,cnt)
xx.df$datep <- as.Date(xx.df$date,format="%Y-%m-%d %H:%M:%S")
xx.df$datea <- as.character(xx.df$date,format="%Y-%m-%d %H:%M:%S")
xx.df$status <- as.factor(c("Success","Fail","Success","Fail"))
pa <- ggplot(xx.df,aes(x=datea,y=cnt,fill=status))
pa <- pa+geom_bar(stat="identity")
print(ggplotly(pa))
【讨论】:
以上是关于ggplotly 的交互和格式问题的主要内容,如果未能解决你的问题,请参考以下文章