2017-03-25 33 views
-1

下面是一些数据: DAT < - cbind(字母,runif(长度(字母)),RNORM(长度(字母))^ 2)如何在R中创建双向直方图?

我想创建双向直方图。我希望信件能够沿着中心走,并且让统一的数据向左走,正常的数据正确。这与你可以在ggplot2中生成的双向条形图类似,但是我希望它们明显地与沿着“脊柱”的字母分开。添加颜色和各种其他方向将是一个加号,但我可以想出来一旦我得到适当的框架

+0

目前还不清楚你想要绘制什么。我怀疑你并不是指直方图,而是条形图。对于统一数据,条的长度将是统一数据的值。好。但是正常数据呢?这将假设负值,所以不清楚你想要的长度是什么。 – G5W

+0

对不起。编辑修复数据命令。也许条形图会起作用。基本上让布局正确是我最担心的事情。标签在中间。一组值指向一个方向。另一组数值走向另一组。如果有任何我还没有找到的软件包可以做到这一点,我绝对会去学它 – jwells

回答

1

你没有给我们太多继续,但也许这是接近你有什么心神?

dat <- data.frame(
    letters, 
    unif=runif(length(letters)), 
    norm=rnorm(length(letters))^2) 

par(mar=c(3, 1, 0, 1.5), cex=1, mfrow=c(1, 2)) 

bplt <- barplot(-dat[[2]], horiz=TRUE, xaxt="n") 

axis(1, -seq(0, max(dat[[2]]), length.out=5), 
    round(seq(0, max(dat[[2]]), length.out=5), 2), cex.axis=0.8) 
axis(4, bplt, dat[[1]], lty=0, las=1, cex.axis=0.8) 

barplot(dat[[3]], horiz=TRUE, cex.axis=0.8) 

enter image description here

这种类型的曲线图是公从人口统计其中它通常被称为“金字塔情节”的领域中已知的。如果你四处搜寻,我相信你会找到更先进的解决方案。

+0

。你是我的英雄。我不确定如何描述它。非常感谢! – jwells