如何在R中创建轨道图?(Plotly/ggplot2)
我花了很多时间在研究如何创建一个 理想情况下,我希望能够创建交互式版本(如Plotly),但ggplot2也足够了 任何建议都将不胜感激 使用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
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日期