如何在R中创建轨道图?(Plotly/ggplot2)

如何在R中创建轨道图?(Plotly/ggplot2),r,graphics,ggplot2,plotly,R,Graphics,Ggplot2,Plotly,我花了很多时间在研究如何创建一个 理想情况下,我希望能够创建交互式版本(如Plotly),但ggplot2也足够了 任何建议都将不胜感激 使用ggplot2: geom_path()按照观测值在数据中出现的顺序连接观测值geom_line()按照变量在x轴上的顺序连接它们 摘自ggplot手册页面: 如果需要更多控制,您也可以尝试使用geom_曲线和geom_段 不久前,我为每周的vis比赛制作了一些类似的图表。我认为现在普遍接受的术语是“连接散点图” 这是我使用的骨架plotlycode pl

我花了很多时间在研究如何创建一个

理想情况下,我希望能够创建交互式版本(如Plotly),但ggplot2也足够了

任何建议都将不胜感激

使用ggplot2:

geom_path()
按照观测值在数据中出现的顺序连接观测值
geom_line()
按照变量在x轴上的顺序连接它们

摘自ggplot手册页面:


如果需要更多控制,您也可以尝试使用
geom_曲线
geom_段

不久前,我为每周的vis比赛制作了一些类似的图表。我认为现在普遍接受的术语是“连接散点图”

这是我使用的骨架
plotly
code

plot_ly(
  df,
  x = x_var,
  y = y_var,
  group = group_var,
  mode = "markers") %>%
  add_trace(
    x = x_var,
    y = y_var,
    xaxis = list(title = ""),
    yaxis = list(title = ""),
    group = group_var,
    line = list(shape = "spline"),
    showlegend = FALSE,
    hoverinfo = "none") 

您可以查看包含用于生成连接散点图的
ggplot
plotly
的代码。

多亏了@Bishop,我能够制定出与理想轨道聊天非常接近的内容。我包括了一些图表注释,用于开始和结束日期,以及一个标签,其中方向是最佳解决方案

max_date <- final_data_grp[which.max(final_data_grp$week_num), ]
min_date <- final_data_grp[which.min(final_data_grp$week_num), ]

end <- list(
  x = max_date$AreaWOH,
  y = max_date$SLevel,
  text = paste('End', max_date$MondayDate),
  xref = "x",
  yref = "y"
)

start <- list(
  x = min_date$AreaWOH,
  y = min_date$SLevel,
  text = paste('Start', min_date$MondayDate),
  xref = "x",
  yref = "y"
)

best_label = list(
  x = min(final_data_grp$AreaWOH),
  y = max(final_data_grp$SLevel),
  text = 'Best Scenario',
  showarrow = FALSE,
  bordercolor='#c7c7c7',
  borderwidth=2,
  borderpad=4,
  bgcolor='#ff7f0e',
  opacity=.7
)

plot_ly(
  final_data_grp,
  x = AreaWOH,
  y = SLevel,
  group = MondayDate,
  showlegend = FALSE,
  marker = list(size = 8,
                color = 'black',
                opacity = .6)) %>% 
  add_trace(
    x = AreaWOH,
    y = SLevel,
    line = list(shape = "spline"),
    hoverinfo = "none",
    showlegend = FALSE) %>%
  layout(annotations = list(start, end, best_label))
max\u日期