【发布时间】:2023-03-29 08:31:01
【问题描述】:
我使用 R 中的 vistime 库创建了一个非常简单的时间线:
library(vistime)
library(plotly)
data <- read.csv(text="event,group,start,end,color,line.color
RedBorder,Project,2016-12-22,2016-12-22,#e8a735,#FF0000
BlueBorder,Meetings,2012-03-15,2012-03-15,#e8a735,#0000ff
BlueBorder,Meetings,2017-01-12,2017-01-12,#e8a735,#0000ff
BlueBorder,Meetings,2019-09-12,2019-09-12,#e8a735,#0000ff
BlueBorder,Meetings,2018-08-15,2017-08-15,#e8a735,#0000ff
RedBorder,Meetings,2017-01-15,2017-01-15,#e8a735,#FF0000")
#Ordering the data, oldest to newest -- this sorts correctly
data <- data[order(data$start),]
p <- vistime(data)
pb <- plotly_build(p)
#The plot's dates are not ordered
pb$x$data[[2]]$x
#Attempting to order the plot's data. These are the date elements. No luck ordering.
pb[order(pb$x$data[[2]]$x)]
for (i in 1:length(pb$x$data)) {
if (pb$x$data[[i]]$mode == "markers") pb$x$data[[i]]$marker$line$color<- data$line.color
}
pb
我试图让线条颜色与line.color 列中的颜色相匹配,但正如您所见,它没有为点分配正确的线条颜色。例如,RedBorder 应该有红色轮廓,BlueBorder 事件应该有蓝色轮廓。
【问题讨论】: