2

R plotly パッケージを使用して作成すると、data.frame から作成された 2 つの個別のグラフが正しく機能します。
ただし、それらを 1 つに結合する方法がわかりません (おそらく add_trace 関数を使用)。

df <- data.frame(season=c("2000","2000","2001","2001"), game=c(1,2,1,2),value=c(1:4))

plot_ly(df, x = game, y = value, mode = "markers", color = season)
plot_ly(subset(df,season=="2001"), x = game, y = value, mode = "line")

前もって感謝します

4

3 に答える 3

10

@LukeSingham によって与えられた答えは、もう機能しませんplotly 4.5.2。「空」から始めてplot_ly()、トレースを追加する必要があります。

df1 <- data.frame(season=c("2000","2000","2001","2001"), game=c(1,2,1,2), value=c(1:4))
df2 <- subset(df, season=="2001")

plot_ly() %>% 
  add_trace(data=df1, x = ~game, y = ~value, type="scatter", mode="markers") %>% 
  add_trace(data=df2, x = ~game, y = ~value, type="scatter", mode = "lines")
于 2016-10-30T21:52:50.793 に答える
4

@MLavoieが提案するように、または既存のオブジェクトで使用することで疑われるように、plotlyでこれを行う、作成ggplotしてオブジェクトに変換する2つの主な方法があります(以下を参照)。plotlyadd_traceplotly

library(plotly)

#data
df <- data.frame(season=c("2000","2000","2001","2001"), game=c(1,2,1,2),value=c(1:4))

#Initial scatter plot
p <- plot_ly(df, x = game, y = value, mode = "markers", color = season)

#subset of data
df1 <- subset(df,season=="2001")

#add line
p %>% add_trace(x = df1$game, y = df1$value, mode = "line")
于 2015-12-23T23:01:47.070 に答える
4

これがあなたが望むことをする方法ですが、ggplot2を使用します:-)背景、線、ポイントの色を必要に応じて変更できます。

library(ggplot2)
library(plotly)
    df_s <- df[c(3:4), ]

    p <- ggplot(data=df, aes(x = game, y = value, color = season)) +
      geom_point(size = 4) +
      geom_line(data=df_s, aes(x = game, y = value, color = season))

    (gg <- ggplotly(p))
于 2015-12-23T23:01:31.227 に答える