2016-11-30 1 views

답변

1

몇 시간 전 주간의 비주얼 경연 대회에 대해 이렇게 약간의 차트를 만들었습니다. 나는 지금 일반적으로 받아 들여지는 용어가 "연결된 산점도 (scatterplot)"라고 생각한다.

여기 내가 사용한 골격 plotly입니다.

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") 

가 연결 산점도를 생산하는 두 ggplotplotly에 대한 코드를 포함하는 github repo for my submission 볼 수 있습니다.

1

사용 ggplot2 :

geom_path()들이 데이터에 나타나는 순서대로 관찰을 연결합니다. geom_line()은 x 축의 변수 순서대로 연결합니다.

는 ggplot 매뉴얼 페이지에서 촬영 : 당신이 더 많은 제어를 원하는 경우도 geom_curvegeom_segment을 시도 할 수 http://docs.ggplot2.org/current/geom_path.html

.

0

@ 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))