Как отделить мои разные записи данных, чтобы они соответствовали моим записям легенды? - PullRequest
0 голосов
/ 13 января 2020

Я попытался создать график в R Studio, поэтому у меня есть возможность скрыть некоторые записи легенды, если / когда я захочу.

Однако проблема, с которой я столкнулся, заключается в том, что все значения из моего набора данных были добавлены в одну запись легенды, несмотря на то, что мои данные предположительно имели 5 отдельных точек входа. Если я еще не ясно описал свою проблему, надеюсь, она станет яснее с изображениями, которые я предоставляю.

Мой оригинальный график -

1st line graph

Моя попытка создания графика с интерактивной легендой -

2nd line graph

Первый линейный график - это то, как он должен выглядеть. Однако вторая линейная диаграмма, кажется, соединилась все годы вместе в 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')

Мой набор данных -

enter image description here

Ответы [ 2 ]

1 голос
/ 13 января 2020

Вам необходимо сопоставить год с цветом, а не добавлять новые следы.

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

См. Этот пример для получения дополнительной информации: https://plot.ly/r/bar-charts/#mapping -a-color-variable

0 голосов
/ 13 января 2020

Вы можете просто использовать ggplotly, чтобы превратить график ggpplot c в графически построенный график:

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)



...