如何使用 ggplot 中的“just”参数将置信区间与条形图对齐?

问题描述 投票:0回答:1

我使用

just
参数来对齐左侧的条,但误差条不跟随

df <- structure(list(date_start = structure(c(18764, 18785, 18806, 18827, 18848, 18869, 18890, 18911, 18932, 18953, 18974, 18995, 19016, 19037, 19058, 19079, 19100, 19121, 19142, 19163, 19184, 19205, 19226, 19247, 19268, 19289, 19310, 19331, 19352, 19373, 19394, 19415, 19436, 19457, 19478, 19499, 19520, 19541, 19562, 19583, 19604, 19625), class = "Date"), likes.sum = c(21647L, 9315L, 9182L, 6911L, 15848L, 873L, 1105L, 1126L, 1060L, 1055L, 1014L, 1127L, 1452L, 1248L, 1264L, 1166L, 1519L, 1440L, 1083L, 1165L, 1225L, 1236L, 1096L, 1362L, 1202L, 6115L, 3294L, 1615L, 1357L, 5228L, 2909L, 1500L, 902L, 1638L, 346L, 402L, 416L, 598L, 467L, 1262L, 1187L, 624L), prop.sum = c(0.00244837621841364, 0.004723564143854, 0.00359398823785668, 0.00231514976125018, 0.0037228672387683, 0.0103092783505155, 0.00542986425339366, 0.00621669626998224, 0.010377358490566, 0.0028436018957346, 0.00788954635108481, 0.0124223602484472, 0.012396694214876, 0.00961538461538462, 0.0189873417721519, 0.00686106346483705, 0.00921658986175115, 0.00902777777777778, 0.0120036934441367, 0.0214592274678112, 0.0114285714285714, 0.00889967637540453, 0.0145985401459854, 0.0102790014684288, 0.00665557404326123, 0.00719542109566639, 0.00546448087431694, 0.00990712074303406, 0.0117907148120855, 0.0040168324407039, 0.00618769336541767, 0.0126666666666667, 0.00665188470066519, 0.010989010989011, 0.0404624277456647, 0.0472636815920398, 0.0192307692307692, 0.0250836120401338, 0.0107066381156317, 0.0166402535657686, 0.0067396798652064, 0.00961538461538462)), row.names = c(NA, -42L), class = "data.frame")

library(tidyverse)

z <- qnorm(0.975)
df %>% 
  ggplot() + 
  aes(x = date_start, y = prop.sum) +
  geom_col(just = 0) +
  geom_errorbar(
    aes(ymin = prop.sum - z * sqrt(prop.sum * (1 - prop.sum) / likes.sum), 
        ymax = prop.sum + z * sqrt(prop.sum * (1 - prop.sum) / likes.sum)),
  ) 

r ggplot2 confidence-interval
1个回答
0
投票

尝试设置

position
参数。比如:

df %>% 
  ggplot() + 
  aes(x = date_start, y = prop.sum) +
  geom_col(just = 0) +
  geom_errorbar(
    aes(ymin = prop.sum - z * sqrt(prop.sum * (1 - prop.sum) / likes.sum), 
        ymax = prop.sum + z * sqrt(prop.sum * (1 - prop.sum) / likes.sum)),
    position = position_nudge(x = 9)
  )
© www.soinside.com 2019 - 2024. All rights reserved.