首页 文章

数据帧分箱数据的直方图[重复]

提问于
浏览
-1

可能重复:如何在ggplot直方图中定义填充颜色?

我想从数据框中绘制(直方图)每长度类鱼类的数量,该数据框以分箱格式(data.frame(...,length = length,counts = N))汇总该信息 . 我是ggplot2的新用户,但似乎它可能是一个不错的选择 . 我可以从data.frame对象创建这个直方图吗?

很抱歉这么短暂,这是一块df的结构,

'data.frame':   416 obs. of  3 variables:
 $ specie: Factor w/ 1 level "speciesA": 1 1 1 1 1 1 1 1 1 1 ...
 $ length: num  34.5 35 35.5 36 36.5 37 37.5 38 38.5 39 ...
 $ Counts: num  2 0 0 0 1 0 1 1 0 1 ...

在这种情况下,渔民捕获2个人34.5厘米大,1 36.5,等等...非常感谢您的答案

1 回答

  • 0

    由于您未提供数据样本,因此我根据您的描述创建了数据 .

    鱼的长度从34.5到49.5(任意单位:a.u . ) . 鱼的最小长度为34.5,鱼的最大长度为49.5

    x <- 34.5:49.5
    

    具有特定长度的鱼的数量从0开始并且以2结束 .

    y <- 0:2
    

    创建长度为x的计数样本

    Counts <- sample(y, length(x), replace=TRUE)
    

    创建包含长度和计数的dataframe1 . 注意:df1的结构满足您描述的数据结构

    df1 <- data.frame(length=x, Counts = Counts)
    

    由于您已经计算了具有特定长度的鱼的数量,您必须将其转换回原始格式,即,如果2鱼有34.5(a.u),则应将其转换回两个34.5s .

    df2 <- data.frame(length = rep(df1$length, df1$Counts))
    

    使用ggplot函数绘制数据 . 请注意,有很多方法可以做同样的情节 . 您也可以尝试geom_histogram来获得相同的情节 .

    require("ggplot2")
    ggplot(data=df2, aes(x=length, xmin=34.5, xmax=49.5)) + stat_bin(binwidth=1)
    

    有关详细信息,请查看此site

    希望这可以帮助!

相关问题