我想知道是否有办法在ggplotly()
图中的点旁边放置标签。如果我在ggplot()
中使用geom_text
或geom_text_repel
,结果还可以。但是如果我打电话给ggplotly()
,我再也看不到我创建的标签了。
例如:
require(ggplot)
require(plotly)
x <- c("01/01/2007","04/03/2008","28/11/2008","13/06/2009")
y <- c(25, 50, 75, 100)
x <- as.Date(x, "%d/%m/%Y")
labels <- c("observer1", "observer2", "observer3", "observer4")
x_lab <- "date"
y_lab <- "score"
mydata <- as.data.frame(cbind(x,y))
ggplot(mydata, aes(x=x, y=y)) +
geom_point() +
geom_line(col="blue")
ggplotly()
我希望"标签"出现在点旁边,但我无法找到一种方法。
提前感谢您的任何建议。
我知道你知道这个错误不会发生在ggplot2
,它发生在plotly
中是因为plotly
的功能与ggplot2
有很大不同。并非包中的所有函数都可以传递给ggplot2
plotly
。 但是,如果您仍然痴迷于plotly
的附加功能,我强烈建议您使用plot_ly()
功能来创建绘图而不是ggplot()
。
我在下面为您提供了一个良好的开端:
require(ggplot)
require(plotly)
x <- c("01/01/2007","04/03/2008","28/11/2008","13/06/2009")
y <- c(25, 50, 75, 100)
x <- as.Date(x, "%d/%m/%Y")
labels <- c("observer1", "observer2", "observer3", "observer4")
x_lab <- "date"
y_lab <- "score"
mydata <- as.data.frame(cbind(x,y))
plot_ly(mydata, x = ~x, y = ~y, type = 'scatter', mode = 'markers',
marker = list(size = 10)) %>%
add_annotations(x = mydata$x,
y = mydata$y,
text = labels)
此图的输出在此链接中plot_ly函数的图形输出