在 R 中绘制,多行,按变量分组

Plotly in R, multiple lines, group by variable

我正在学习如何使用 plotly。

我有几家大型石油公司的数据,每年的价值,我想看到每家公司在同一时期的一条线。这个想法是为了看看公司是否在这段时间内出现分歧。

我尝试了各种 group_by 解决方案,但我无法弄清楚。我也在 SO 上查找了建议的问题。

我正在使用 R。

可重现的例子:

data <- "https://raw.githubusercontent.com/sveisa/r/master/tot_summary.csv"
data <- read_csv(url(data))

fig <- plot_ly(data, 
               x = ~year,
               y = ~all_terms_ratio,
               name = 'all_terms', 
               type = 'scatter', 
               mode = 'lines+markers') 
fig

您只需指定 colorgroup 参数。这分别绘制每个组。请注意,您必须先在数据中更改显示的组名。

source <- "https://raw.githubusercontent.com/sveisa/r/master/tot_summary.csv"
data <- read_csv(url(source)) %>% 
  # not necessary, just for clarity reasons
  dplyr::arrange(ticker, year)

plot_ly(data, x = ~year, 
        y = ~all_terms_ratio, 
        # groups and assigns different colors in one step
        color = ~ticker,
        # name = 'all_terms', 
        type = 'scatter', 
        mode = 'lines+markers') 
fig