我正在使用R,以图形方式打包,并且在连接图形的第一个和最后一个点时遇到问题。我想避免它。代码如下:
graph<-plot_ly(data, x = ~date, y = ~variable, z = ~value, mode="lines")
我尝试了谷歌一些解决方案,但到目前为止没有任何工作。
该图看起来像这样。
有人可以帮忙吗?
如果我理解正确,那么您不希望变量1、2、3 ...中的线相互连接,对吗?
如果是这种情况,我认为正在发生的情况是,假设您的所有数据都属于同一系列。
您需要告诉它,每个变量的数据是不同的序列。您可以通过映射做variable
该行的(属性color
,linetype
,stroke
,等...)。
library(tidyverse)
library(plotly)
# Create a data set from EuStockMarkets data for this example
# (this is just to put the data in a dataframe in the same format as your dataset. You can skip this part)
df.data <- EuStockMarkets %>% as.data.frame() %>%
dplyr::mutate(date=time(EuStockMarkets)) %>%
dplyr::mutate(year=as.integer(floor(date))) %>%
dplyr::mutate(day.of.year = ceiling((date-year) * 365)) %>%
dplyr::mutate(date=ymd(sprintf('%4d-01-01', year))+ days(day.of.year)) %>%
dplyr::select(-year, -day.of.year) %>%
tidyr::pivot_longer(-date, names_to = "variable") %>%
dplyr::arrange(variable, date)
plot_ly(data=df.data, x = ~date, y = ~variable, z = ~value, type="scatter3d", mode='lines', color = ~variable)
如果您不希望每行中的行variable
具有不同的颜色,则可以使用split
参数,它将为的每个值创建不同的迹线(即行)variable
。我必须手动设置线条的颜色,否则会自动密谋设置其他颜色。我还删除了图例。
plot_ly(data=df.data, x = ~date, y = ~variable, z = ~value, type="scatter3d", mode='lines', split=~variable, color=I('black')) %>% layout(showlegend = FALSE)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句