如何分隔我的不同数据条目以匹配我的图例条目?

How to separate my different data entries to match with my legend entries?

我曾尝试在 R Studio 中创建绘图图,因此我可以选择隐藏我想要的某些图例条目 if/when。

但是,我遇到的问题是我的数据集中的所有值都已添加到 1 个图例条目下,尽管我的数据应该有 5 个单独的入口点。如果我还没有清楚地描述我的问题,希望我提供的图像会变得更加清晰。

我的原始图表 -

我对带有交互式图例的图表的尝试 -

第一条线图是它应该看起来的样子。然而,第二条线图似乎在2015年将所有年份连在一起了。

我的代码如下 -

library(plotly)
library(tidyr)
library(plyr)

twit1 <- read.csv("//ecfle35/STAFF-HOME$/MaxEmery/Social media analysis/Twitter/December/engagement rate.csv", comment.char="#", stringsAsFactors=FALSE)

twit1$Months = month.abb

twit1$Months = factor(twit1$Months, levels = month.abb)

# Manipulate years as you were doing

twit1$Years <- twit1$Year
twit1$Years <- as.factor(twit1$Years)

# Plotting the line graph

p <- plot_ly(twit1, x = ~Months, y = ~Engagement, type = 'scatter', mode = 'lines', name = '2015') %>%
  add_trace(y = ~2016, name = '2016') %>%
  add_trace(y = ~2017, name = '2017') %>%
  add_trace(y = ~2018, name = '2018') %>%
  add_trace(y = ~2019, name = '2019')

我的数据集 -

您需要将年份映射到颜色,而不是添加新的痕迹。

plot_ly(twit1, 
        x = ~Months, 
        y = ~Engagement, 
        color = ~Years, 
        type = 'scatter', 
        mode = 'lines')

有关更多信息,请参阅此示例:https://plot.ly/r/bar-charts/#mapping-a-color-variable

您只需使用 ggplotly 即可将 ggpplot 图形转换为 plotly 图形:

library(plotly)
library(ggplot)

p <- ggplot(twit1, aes(x = Months, y = Engagement, color = Years)) + 
       geom_line() + 
       labs(title = "The rate of growth for Twitter engagements", 
            x = "Months", 
            y = "Engagement")

ggplotly(p)