从ggplot2使用plotly时缺少图例和颜色

时间:2015-10-01 13:15:31

标签: r ggplot2 legend boxplot plotly

我使用ggplot2创建了一个箱形图,它在R中显示出漂亮的颜色,带有相应的图例。当我将它导出到剧情时,箱形图都是红色的,并且图例已经消失。 我不能在这里发布情节图片,因为它不会让我,但我的代码如下:

r <- ggplot(data=all.data, aes(factor(Year), Data))+xlab("Year")
r <- r + geom_boxplot(outlier.shape = NA, aes(fill = factor(Month))) 
r <- r + scale_y_continuous(limits = c(-1, 6.5))
r <- r+ scale_fill_discrete(name = "Month")
r
gg <- ggplotly(r,kwargs=list(world_readable=FALSE))

我已在geom_boxplot图层中包含处理颜色的fill命令,但我无法理解为什么这不会转移。

1 个答案:

答案 0 :(得分:2)

您是否安装了最新的ggplot2plotly软件包?我试过一个简单的条形图,但无法重现你的问题。

我安装了这些版本:

packageVersion("ggplot2")
# [1] ‘1.0.1’
packageVersion("plotly")
# [1] ‘1.0.7’
packageVersion("shiny")
# [1] ‘0.12.2’

如果您的版本较旧,您可以考虑升级到最新版本。

在我的机器上这个愚蠢的例子(类似于你不完整的代码片段):

library(plotly)
library(ggplot2)

all.data <- data.frame(Year = c(2000, 2000, 2005, 2005),
                       Month = c("Jan", "Jan", "Jul", "Jul"),
                       Data = c(0, 3.2, 3, 4))

r <- ggplot(data = all.data, aes(factor(Year), Data)) + xlab("Year")
r <- r + geom_boxplot(outlier.shape = NA, aes(fill = factor(Month))) 
r <- r + scale_y_continuous(limits = c(-1, 6.5))
r <- r + scale_fill_discrete(name = "Month")
r

Sys.setenv("plotly_username" = "MyCoooolUsername")
Sys.setenv("plotly_api_key" = "MySeCrEtPWD")
plotly:::verify("username")
plotly:::verify("api_key")
gg <- ggplotly(r,world_readable=TRUE)
gg

产生

enter image description here

正如所料。