-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,等等......非常感谢您的回答

4

1 回答 1

0

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

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

 x <- 34.5:49.5

具有特定长度的鱼的数量从 0 开始,到 2 结束。

 y <- 0:2

创建一个长度为 x 的计数样本

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

创建一个包含长度和计数的数据框1。注意: df1 的结构满足您描述的数据结构

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

由于您已经计算了具有特定长度的鱼的数量,因此您必须将其转换回原始格式,即如果 2 条鱼的长度为 34.5(au),则应将其转换回 2 条 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)

查看此网站以获取更多信息

希望这可以帮助!

于 2012-10-06T05:27:05.883 回答