【问题标题】:Symmetrical histograms对称直方图
【发布时间】:2015-07-31 13:43:07
【问题描述】:

我想制作一些对称的直方图来显示蝴蝶在时间上的丰度。这是一个显示我正在尝试创建的图表形式的网站:http://thebirdguide.com/pelagics/bar_chart.htm

为方便起见,我将使用 iris 数据集。

library(ggplot2)

g <- ggplot(iris, aes(Sepal.Width)) + geom_histogram(binwidth=.5) 
g + coord_fixed(ratio = .003)

基本上,我想将此直方图镜像到 x 轴下方。考虑这个问题的另一种方法是创建一个带有不同 bin 的水平小提琴图。我查看了 plotrix 包和 ggplot2 文档,但在这两个地方都没有找到解决方案。我更喜欢使用 ggplot2,但 base R、lattice 或其他包中的其他解决方案都可以。

【问题讨论】:

  • 您介意提供head() 的实际数据吗?我的猜测是您的绘图问题更多是数据操作问题。另外,很酷的问题和目标!
  • Herb,另外,我的解决方案提出了几个数据问题,不过我很乐意为您解答。

标签: r histogram


【解决方案1】:

如果没有您的确切数据,我只能提供一个大概的编码解决方案,但这对您来说是一个开始(如果您添加更多细节,我很乐意帮助您调整情节)。代码如下:

library(ggplot2)
noSpp <- 3
nTime <- 10
d <- data.frame(
    JulianDate = rep(1:nTime , times = noSpp),
    sppAbundance    = c(c(1:5, 5:1),
                c(3:5, 5:1, 1:2),
                c(5:1, 1:5)),
    yDummy = 1,
    sppName = rep(letters[1:noSpp], each = nTime))

ggplot(data = d, aes(x = JulianDate, y = yDummy, size = sppAbundance)) +
    geom_line() + facet_grid( sppName ~ . ) + ylab("Species") +
    xlab("Julian Date")

这是这个数字。

【讨论】:

  • 非常感谢,理查德!如果我遇到任何障碍,我会将您的代码应用到我的数据集并回复您。您制作的图表正是我想要的。
  • 不客气。我会浏览R Cookbookggplot2 主页以获取不同的选项。例如,您可能想要+ theme_bw(),并且您会想要关闭 y 轴。另外,如果我的回答有帮助,请投票并考虑将其标记为您的问题的解决方案。这是SO的help file on the having your questions answered.
猜你喜欢
  • 2017-12-02
  • 1970-01-01
  • 2021-09-21
  • 1970-01-01
  • 2015-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-18
相关资源
最近更新 更多