3

我正在使用 ggplotly 将 ggplot 对象转换为交互式绘图。我遇到的问题是当 ggplot 对象使用关联的颜色美学时。例如,使用以下虚拟示例:

library(ggplot2)
library(plotly)

datetime.data = seq.POSIXt(from = ISOdatetime(2017, 10, 1, 0, 0, 0), to = ISOdate(2017, 10, 15, 23, 0, 0), by = 'hour')
date.data <- as.Date(datetime.data)
x.data <- as.numeric(strftime(datetime.data, format="%H")) * 60 + as.numeric(strftime(datetime.data, format="%M"))
y.data1 <- as.numeric(date.data) + sin(x.data)
color.data <- runif(length(x.data), 0, 10)

df <- data.frame(Datetime = datetime.data, Date = date.data, X = x.data, Y = y.data1, Color = color.data)

# continuous color scale
gg <- ggplot(df, aes(x=X, y=Y, group=Date)) + geom_line(aes(color=Color)) + ggtitle("Continuous")
print(gg)

ggly <- ggplotly(gg)
print(ggly)

# discrete color scale
df[, "Color"] <- round(df[, "Color"])
df[, "Color"] <- as.factor(df[, "Color"])

gg <- ggplot(df, aes(x=X, y=Y, group=Date)) + geom_line(aes(color=Color)) + ggtitle("Discrete")
print(gg)

ggly <- ggplotly(gg)
print(ggly)

使用 ggplot 和相应的 plotly 对象的结果:

ggplot - 连续色标

ggplotly - 连续色标

ggplot - 离散色标

ggplotly - 离散色标

有了这么基本的例子,我认为它可能与某些版本错误有关?我正在使用更新的软件包,尽管devtools::install_github('hadley/ggplot2')在使用 ggplotly() 时建议使用 ggplot [using ] 的开发版本。我的包和 R 版本:

> packageVersion("ggplot2")
 ‘2.2.1.9000’

> packageVersion("plotly")
 ‘4.7.1’

> R.version$version.string            
" R version 3.4.0 (2017-04-21) "
4

0 回答 0