R中的自定义背靠背直方图

Customized back-to-back histogram in R

给出背靠背直方图的例子:

set.seed (123)
xvar <- round (rnorm (100, 54, 10), 0)
xyvar <- round (rnorm (100, 54, 10), 0)
myd <- data.frame (xvar, xyvar)
valut <- as.numeric (cut(c(myd$xvar,myd$xyvar), 12))
myd$xwt <- valut[1:100]
myd$xywt <- valut[101:200]
xy.pop <- data.frame (table (myd$xywt))
xx.pop <- data.frame (table (myd$xwt))


 library(plotrix)
 par(mar=pyramid.plot(xy.pop$Freq,xx.pop$Freq,
    main="Population Pyramid",lxcol="blue",rxcol= "pink",
  gap=0,show.values=F))

是否可以更改条形的形状,使它们只是线条,例如:

你的代码让我混淆了你的最终结果应该是什么。也许是这样的:

library(ggplot2)
DF <- merge(xy.pop, xx.pop, by = "Var1")
ggplot(DF, aes(y = Var1, xmin = -Freq.x, xmax = Freq.y, x = 0)) +
  geom_errorbarh() +
  geom_vline(xintercept = 0, size = 1.5) +
  theme_minimal() +
  xlab("") + ylab("") +
  theme(panel.grid = element_blank())