【问题标题】:Stacked Bar Plot for one quantitative and one categorical variable一个定量变量和一个分类变量的堆积条形图
【发布时间】:2017-05-28 08:28:59
【问题描述】:

我有一个如下的数据框:

core_depth    formation_name
5668           name5
5739           name2
5791           name7
5841           name4
5856           name1
5876           name3
5882           name6

core_depth 列表示岩层的深度,formation_name 是地质学家给岩层起的名称。我打乱了名称以保护数据,但想法是这些名称是唯一的名称,就像 R 中的字符向量一样。

我需要绘制一个单列堆积条形图,其中只有垂直比例很重要。它从顶部的第一个 core_depth (5668) 开始,到底部的 core-depth (5882) 结束。条形图中的每个堆栈都显示了与名称对应的深度的“比例”。我不需要图例,因为堆积条本身用作其他散点图的深度和形成标记。我可以使用 ggplot2 或 plotly。请建议或更好,提供示例代码。

【问题讨论】:

    标签: r ggplot2 plotly stacked-chart


    【解决方案1】:

    这有帮助吗:

    df <- read.table(text = "core_depth    formation_name
                     5668           name5
                     5739           name2
                     5791           name7
                     5841           name4
                     5856           name1
                     5876           name3
                     5882           name6", stringsAsFactors = FALSE, header = TRUE)
    
    library(dplyr)
    library(ggplot2)
    
    df <- df %>% 
      arrange(core_depth)
    
    df$lag <- lag(df$core_depth)
    
    df$abs <- df$core_depth - df$lag
    df$abs[1] <- 0
    
    ggplot(df) +
      geom_bar(aes(x = rep(0, nrow(df)),
                   y = abs,
                   fill = formation_name),
               stat = "identity")
    

    【讨论】:

    • 这几乎是我需要的,但我希望Y轴刻度从顶部开始,第一个核心深度值,即5668,然后向下直到最后一个核心-深度达到了,即5882。我真的不关心X轴,可以删除或隐藏。否则就好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多