【问题标题】:Modify graph (with plotly)修改图形(带有情节)
【发布时间】:2020-07-17 09:21:35
【问题描述】:

这是我的数据集的一个小例子。该集合包含大约 52 周的每周数据。您可以通过以下代码查看数据:

# CODE
     #Data
library(tidyverse)
library(plotly)
      ARTIFICIALDATA<-dput(structure(list(week = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 
        13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 
        29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 
        45, 46, 47, 48, 49, 50, 51, 52), `2019 Series_1` = c(534.771929824561, 
        350.385964912281, 644.736842105263, 366.561403508772, 455.649122807018, 
        533.614035087719, 829.964912280702, 466.035087719298, 304.421052631579, 
        549.473684210526, 649.719298245614, 537.964912280702, 484.982456140351, 
        785.929824561404, 576.736842105263, 685.508771929824, 514.842105263158, 
        464.491228070175, 608.245614035088, 756.701754385965, 431.859649122807, 
        524.315789473684, 739.40350877193, 604.736842105263, 669.684210526316, 
        570.491228070175, 641.649122807018, 649.298245614035, 664.210526315789, 
        530.385964912281, 754.315789473684, 646.80701754386, 764.070175438596, 
        421.333333333333, 470.842105263158, 774.245614035088, 752.842105263158, 
        575.368421052632, 538.315789473684, 735.578947368421, 522, 862.561403508772, 
        496.526315789474, 710.631578947368, 584.456140350877, 843.19298245614, 
        563.473684210526, 568.456140350877, 625.368421052632, 768.912280701754, 
        679.824561403509, 642.526315789474), `2020 Series_1` = c(294.350877192983, 
        239.824561403509, 709.614035087719, 569.824561403509, 489.438596491228, 
        561.964912280702, 808.456140350877, 545.157894736842, 589.649122807018, 
        500.877192982456, 584.421052631579, 524.771929824561, 367.438596491228, 
        275.228070175439, 166.736842105263, 58.2456140350878, NA, NA, 
        NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
        NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
        NA, NA)), row.names = c(NA, -52L), class = c("tbl_df", "tbl", 
        "data.frame")))
colnames(ARTIFICIALDATA) <- c('week', 'series1', 'series2')

所以下一步是使用 包绘制这些数据。我想要一个像下面的例子一样的情节。因为这是每周数据,所以首先series1 有 52 个观测值,而series2 有 16 个观测值(series1 是 2019 年的平均数据,series2 是 2020 年的数据)。因此,出于这个原因,比较必须仅针对 16 次观察(所有没有NA 的观察),如下例所示:

那么任何人都可以帮助如何使用 绘制此图吗?

【问题讨论】:

    标签: r-plotly plotly r data-visualization r-plotly


    【解决方案1】:

    试试这个:

    colnames(ARTIFICIALDATA) <- c("week", "series1", "series2")
    
    ARTIFICIALDATA %>%
      # Drop rows with NA 
      drop_na() %>% 
      # Convert to long format
      pivot_longer(-week, names_to = "series") %>%
      # Set the labels for the plot. If you want other lables simply adjust
      mutate(label = case_when(
          series == "series1" ~ "2019 Series_1",
          series == "series2" ~ "2020 Series_1")) %>%  
      # Compute sum by sereis
      group_by(label) %>%
      summarise(sum = sum(value, na.rm = TRUE)) %>% 
      ungroup() %>%
      # Plot
      plot_ly(x = ~label, y = ~sum) %>% 
      add_bars() %>%
      # Remove title for xaxis. But can you can label it as you like
      layout(xaxis = list(title = ""))
    

    【讨论】:

    • 但必须包含名称。请检查是否可以。提前谢谢您
    • 你是什么意思?名字包含在情节中。您想要“series1”和“series2”作为名称吗?
    • 我的意思是 colnames(ARTIFICIALDATA)
    • 好的。您可能有充分的理由坚持使用 colnames。我更改了代码,以便它与您的 colnames 一起使用。我为标签添加了一列,以便在图中的条形标记为“2019 Series_1”和“2020 Series_1”。但是如果你想要其他标签,你可以调整它。还。我添加了一个代码行来删除xaxis 的标题。但你可以随意调整标题。
    猜你喜欢
    • 2016-09-24
    • 2021-10-10
    • 2011-08-25
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 2021-11-20
    相关资源
    最近更新 更多