【问题标题】:How to create bidirectional histogram in R? [closed]如何在 R 中创建双向直方图? [关闭]
【发布时间】:2017-03-25 21:19:34
【问题描述】:

以下是一些数据: dat

我想创建一个双向直方图。我希望字母从中间向下,统一数据向左,正常数据向右。这将类似于您可以在 ggplot2 中生成的双向条形图,但我希望它们与沿着“脊椎”向下的字母明显分开。添加颜色和其他各种方向将是一个加分项,但一旦我得到适当的框架,我就可以弄清楚

【问题讨论】:

  • 不清楚你想绘制什么。我怀疑你的意思不是直方图而是条形图。对于统一数据,条的长度将是统一数据的值。好的。但是正常数据呢。这将假定为负值,因此不清楚您想要的长度是多少。
  • 对不起。编辑以修复数据命令。也许条形图会起作用。基本上让布局正确是我最担心的。标签在中间。一组值朝一个方向发展。另一组价值观相去甚远。如果有任何我还没有找到的包可以做到这一点,我很乐意学习它

标签: r histogram data-visualization


【解决方案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)

这种类型的情节在人口统计领域众所周知,通常被称为“金字塔情节”。如果您四处搜索,我相信您会找到更高级的解决方案。

【讨论】:

  • 绝对。你是我的英雄。我不知道如何描述它。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-11
  • 1970-01-01
  • 2012-02-04
  • 1970-01-01
  • 1970-01-01
  • 2018-04-16
  • 1970-01-01
相关资源
最近更新 更多