【问题标题】:Plot relative abundance through time绘制随时间变化的相对丰度
【发布时间】:2020-05-13 22:03:54
【问题描述】:

我想绘制一些像这两个这样的对称条,其中条的宽度对应于变量随时间的相对丰度。我在 R 中找不到类似的东西;任何帮助表示赞赏。

【问题讨论】:

  • 您能提供一些示例数据吗?这并不是当前形式的编程问题。我还会考虑这是否是一个好的可视化 - 我觉得它相当混乱 - 也许有更好的方法?
  • 这不是通过定义你想要的多边形来解决吗?如果你有一半条形的 x/y 坐标,你可以做 y2 = c(x, rev(x))x2 = c(y, -rev(y)) (翻转 x 和 y 使其垂直)。不过可能需要稍微抵消一下黑白条。

标签: r ggplot2 plot bar-chart


【解决方案1】:

您在寻找violin 的情节吗?

根据您的评论,小提琴情节不是您所追求的。 有两种近似的解决方案,它们都不是理想的,但它们能让你走得更远:

library(dplyr)
library(tibble)
library(ggplot2)

set.seed(123)
data <- tibble(
  Date = seq.Date(from = as.Date("2020/01/01"), length = 50, by = "day"),
  Value = runif(50, min = 0, max = 10)
)

data <- data %>%
  mutate(Value_plus = Value,
         Value_min = -Value)


p <- ggplot(data = data, aes(fill = "red")) +
  geom_step(aes(x = Date, y = Value_plus)) +
  geom_step(aes(x = Date, y = Value_min))
p

p <- ggplot(data = data, ) +
  geom_ribbon(aes(x = Date, ymin = Value_min, ymax = Value_plus))
p

第一个图包含您在示例中建议的步骤,但 geom_step 的填充似乎不平凡。第二个情节,使用geom_ribbon 给你一个填充但不是步骤。有几个解决方案示例(例如here)关于如何获得填充的阶梯图。

使用geom_step

使用geom_ribbon

【讨论】:

  • 我不这么认为;小提琴图显示分类变量值的分布形状,不随时间变化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多