如何使用csv文件中的实际观察数正确注释堆栈条形图?

汉密尔顿

我已经实现了接受data.frame列表作为输入,然后按阈值过滤掉的功能。现在,我可以将过滤后的结果导出为csv文件。为了更好地了解每个输出中有多少观察点,最好选择带注释的堆栈条形图。如何获取带注释的csv文件列表的条形图?谁能给我可能的想法以实现所需的输出?如何处理csv文件以获取堆栈条图?任何想法 ?非常感谢

可复制的数据:

output <- list(
  bar = data.frame(begin=seq(2, by=14, len=45), end=seq(9, by=14, len=45), score=sample(60,45)),
  cat = data.frame(begin=seq(5, by=21, len=36), end=seq(13, by=21, len=36), score=sample(75,36)),
  foo = data.frame(begin=seq(8, by=18, len=52), end=seq(15, by=18, len=52), score=sample(100,52))
)

我实现了此功能,以按阈值过滤输入列表:

myFunc <- function(mList, threshold) {
  # check input param
  stopifnot(is.numeric(threshold))
  res <- lapply(mList, function(elm) {
    split(elm, ifelse(elm$score >= threshold, "saved", "droped"))
  })
  rslt <- lapply(names(res), function(elm) {
    mapply(write.csv,
           res[[elm]],
           paste0(elm, ".", names(res[[elm]]), ".csv"))
  })
  return(rslt)
}

#' @example 
myFunc(output, 10)

现在,我得到了csv文件的列表,我打算获取带有实际观察次数的每个文件栏的带注释的堆栈栏图。我如何才能有效地做到这一点?

这是所需情节的模型:

在此处输入图片说明

哈克

原始答案(预编辑/评论):

d   <- dir()[grepl("\\.droped", dir())]
s   <- dir()[grepl("\\.saved", dir())]
dropped <- as.numeric()
for(i in d){
  dropped <- c(dropped,nrow(read.csv(i)))
}
saved <- as.numeric()
for(i in s){
  saved <- c(saved,nrow(read.csv(i)))
}
tmp1 <- cbind(dropped,saved)

# Stacked Bar Plot with Colors and Legend    
barplot(tmp1, main="CSV File Row Counts",
        xlab="Number of Obs.", col=c("darkblue","red", "green"),
        legend = c("cat", "bar", "foo"))

在此处输入图片说明

修改后的答案(修改后):

根据评论/编辑,我对图表进行了修改,以在各段中包含标签:

require(ggplot2)
Data      <- data.frame(obs    = c(tmp,tmp0),
                        # could get name from "output" to make it programmatic:
                        name   = c("cat", "foo", "bar"), 
                        filter = c(rep("Dropped",length(dropped)),
                                      rep("Saved", length(saved)))
)

ggplot(Data, aes(x = filter, y = obs, fill = name, label = obs)) +
  geom_bar(stat = "identity") +
  geom_text(size = 3, position = position_stack(vjust = 0.5))

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用python从csv文件中绘制堆积的条形图

使用条形图显示csv文件中的数据

使用 r 中的条形图在条形图顶部进行标签注释

如何使用ggplot2在r中添加条形图频率的实际大小?

如何水平居中条形图注释

如何注释超过2个堆栈的大熊猫堆积条形图?

Rshiny--使用 CSV 文件创建条形图

如何在csv文件的熊猫的barplot中显示多个条形图

通过仅使用.csv文件中的两列来构造多个条形图

如何在条形图上正确放置条形图

如何在c3.js中获得分组条形图(堆栈图)的圆角

如何在Matplotlib中的堆栈百分比条形图上添加注释?

熊猫,条形图注释

Python:如何使用matplotlib在python中绘制条形图?

熊猫条形图,如何注释分组的水平条形图

如何减少堆栈条形图chart.js中多条网格线的数量

条形图与堆栈和R中的旁边

在R中组合堆栈和组条形图

如何使用未绘制的Dataframe col的单独值(日期)注释Seaborn条形图

如何向条形图添加多个注释

如何仅注释堆积条形图的一类

如何绘制和注释分组的条形图

如何注释堆积条形图的每个部分?

在 Python 中创建和注释分组条形图

如何使用Pandas绘制条形图?

如何使用ggplot绘制条形图

如何在dc.js中呈现时间序列/分类堆积条形图,过滤堆栈和条形图

d3 js 圆形条形图,如何传递对象而不是 .csv 文件?

Python-当数据不是数字时如何从csv文件制作条形图