条形图

我有一个问题在R中产生了两个数据集的并排条形图。我之前使用下面的代码创建了一个绘图,其中并排排列了两个数据集中的每个数据集的对应条形图,其中来自数据集1的列着色红色和来自数据集2的颜色为蓝色。 现在,当我在任何一对数据集上运行相同的代码时,包括原始数据在我保存的工作区中仍未触及的情况下,我会为每个数据集并排分别绘制图表,其中各列之间的红色和蓝色交替显示,数据集。 文档并没有给我(我)任何(显而易见)的线索,我已经做了什么改变显示。 请帮忙!

## Sample data
set.seed(47)
BG.restricted.hs = round(runif(100, min = 47, max = 1660380))
FG.hs = round(runif(100, min = 0, max = 1820786))

BG.restricted.hs <- data.matrix(BG.restricted.hs, rownames.force = NA)
groups.bg.restricted.hs <- cut(x=BG.restricted.hs, breaks = seq(from = 0, to = 1900000, by = 10000))
rowsums.bg.restricted.hs <- tapply(BG.restricted.hs, groups.bg.restricted.hs, sum)
norm.bg.restricted.hs <- (rowsums.bg.restricted.hs / nrow(BG.restricted.hs))

FG.hs <- data.matrix(FG.hs, rownames.force = NA)
groups.fg.hs <- cut(x=FG.hs, breaks = seq(from = 0, to = 1900000, by = 10000))
rowsums.fg.hs <- tapply(FG.hs, groups.fg.hs, sum)
norm.fg.hs <- (rowsums.fg.hs / nrow(FG.hs))

data <- cbind(norm.fg.hs, norm.bg.restricted.hs)
barplot(height = data, xlab = "TSS Distance", ylab = "Density", col=c("red","blue"), beside = TRUE)

数据文件只包含一列整数。


看看这或多或少是你想要的。 它使用ggplot2 ,但如果您愿意,可以适应barplot

set.seed(47)
BG.restricted.hs = round(runif(100, min = 47, max = 1660380))
FG.hs = round(runif(100, min = 0, max = 1820786))

我们将这些矢量合并成一列(在另一列中记录它们的来源),以便我们可以同时对它们进行二进制处理。

dat = data.frame(x = c(BG.restricted.hs, FG.hs), 
                 source = c(rep("BG", length(BG.restricted.hs)),
                            rep("FG", length(FG.hs))))
dat$bin = cut(dat$x, breaks = seq(from = min(dat$x), to = max(dat$x), by = 10000))

情节:

library(ggplot2)
ggplot(dat, aes(x = bin, fill = source)) +
    geom_bar(position = "dodge") +
    theme_bw() +
    scale_x_discrete(breaks = NULL)
链接地址: http://www.djcxy.com/p/30955.html

上一篇: bar chart

下一篇: how to include color gradient for two variables