【问题标题】:How to I overlay a histogram over a bar chart in ggplot?如何在 ggplot 的条形图上叠加直方图?
【发布时间】:2018-05-26 09:58:39
【问题描述】:

我有一个二分因子变量,我想用它来创建条形图。

outcome <- as.factor(c("Yes", "Yes", "Yes", "No",  "No",  "No",  "Yes", "Yes", "No",  "No",  "Yes", "No",  "No",  "Yes", "Yes", "Yes", "No",  "No",  "Yes", "No",  "No",  "Yes", "Yes", "No")) 

我有一个连续变量 (min=0, max=1),我想用它创建一个直方图

prediction  <-  c(.648,  .628,  .774, .292,  .264,  .598,  .720,  .876,  .520,  .676,  .736,  .244,  .326,  .594,   .492,  .168, .200,  .286,   .804, .086,   .382,  .878,  .450,.478)

我试图弄清楚如何将两个图表叠加在同一个图上。这是我目前所拥有的:

df <- data.frame(outcome, prediction)     

ggplot(data=df) + 
       geom_bar(aes(outcome), alpha = .2, color = "red") +
       scale_y_continuous() + 
       geom_histogram(aes(prediction), alpha = .2, color = "blue", bins = 20) 

它已关闭,但条形图需要向左移动。我希望“否”栏从 0 变为 0.5,“是”从 0.5 变为 1。

【问题讨论】:

  • 这样做的目的是什么?你想用条形图显示什么,用直方图显示什么?为什么不按结果拆分直方图?
  • 用你的直方图做这样的事情是有意义的:sthda.com/english/wiki/…
  • 条形图的 x 由 Yes 和 No 的值给出(所以 1 和 2)。你可以把你想要的x值放在ses调用中,分别设置标签

标签: r ggplot2 histogram bar-chart


【解决方案1】:

这会将条形图向左移动。不过,您仍然需要修复标签。如果这是你想要的,我不是 100%,但这是一个开始。

ggplot(data=df) + 
  geom_bar(aes(outcome), alpha = .2, color = "red", width = 1, position = position_nudge(x=-0.5)) +
  scale_y_continuous() + 
  geom_histogram(aes(prediction), alpha = .2, color = "blue", bins = 20) 

【讨论】:

    猜你喜欢
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2022-01-16
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    相关资源
    最近更新 更多