【问题标题】:Special Stacked Bar Chart R ggplot特殊堆积条形图 R ggplot
【发布时间】:2019-11-15 23:21:07
【问题描述】:

你能帮我在 R 中制作下面的条形图吗?我有一些简化的虚拟数据用于重新创建,然后我的计划是以相同的方式操作数据。不需要做abline。最重要的部分是瀑布方面。

   ï..labels value
1      start   100
2   january    120
3    febuary   140
4      march   160
5      april   180
6        may   130
7       june   140
8       july   170
9     august   160
10 september   180
11   october   190
12  november   210
13  december   200
14       end   200

【问题讨论】:

    标签: r ggplot2 data-visualization


    【解决方案1】:

    这会让你得到瀑布效应:

    library(tidyverse)
    
    df <- 
      tibble::tribble(
        ~month, ~month_name, ~value,
         1,     "start", 100,
         2,   "january", 120,
         3,   "febuary", 140,
         4,     "march", 160,
         5,     "april", 180,
         6,       "may", 130,
         7,      "june", 140,
         8,      "july", 170,
         9,    "august", 160,
        10, "september", 180,
        11,   "october", 190,
        12,  "november", 210,
        13,  "december", 200,
        14,       "end", 200
      ) %>% 
      mutate(
        type = case_when(
          month == min(month) ~ "Initial",
          month == max(month) ~ "Final",
          value > lag(value) ~ "Increase",
          TRUE ~ "Decrease"
        ),
        finish = value,
        start = if_else(month == max(month), 0, replace_na(lag(value), 0))
      )
    
    df %>% 
      ggplot(aes(xmin = month - 0.3, xmax = month + 0.3, ymin = start, ymax = finish, fill = type)) +
      geom_rect() +
      scale_x_continuous(
        breaks = 1:14,
        labels = df %>% select(month_name) %>% pull()
      ) +
      theme(
        axis.text.x = element_text(angle = 45, hjust = 1),
        legend.position = "none"
      )
    

    您应该能够从这里处理格式和颜色 ;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多