我正在尝试使用ggplotly()转换ggplot2图像,但它没有正确转换。我的ggplot图像始终包含两条线,并且
geom_line 组件具有颜色变量,而 geom_point 组件具有填充变量。
以下是仅基本ggplot部分的代码:
test_data1 = data.frame(
filter = "Filter 1",
time = seq(as.Date("2017-01-01"), as.Date("2017-03-01"), "days"),
ovr_perc = rnorm(n = 60, mean = 8, sd = 2),
neg_perc = rnorm(n = 60, mean = 6, sd = 2),
count = sample(50:250,60,replace=T)
)
test_data2 = data.frame(
filter = "Filter 2",
time = seq(as.Date("2017-01-01"), as.Date("2017-03-01"), "days"),
ovr_perc = rnorm(n = 60, mean = 20, sd = 6),
neg_perc = rnorm(n = 60, mean = 6, sd = 2),
count = sample(50:250,60,replace=T)
)
test_data = rbind(test_data1, test_data2)
p = ggplot(test_data, aes(x=time, y=ovr_perc, group = factor(filter))) +
geom_line(aes(color=factor(filter))) +
geom_point(aes(fill=neg_perc, size = count), shape=21) +
scale_fill_gradient2(low = "darkgreen", mid = "yellow", high = "red1",
midpoint = 5, limits = c(0, 10), oob = squish) +
scale_colour_manual(values = c("pink", "green")) +
theme_classic()
p
图片应该看起来像这样,几乎完全符合我的想法:
然而,当我尝试添加ggplotly
代码以获得工具提示功能时,它会变成这样:
ggplotly(p)
每个点的整个颜色方案都消失了。我该如何更改才能使ggplot图像和ggplotly图像保持相同的颜色比例尺?