我有一个类似于这个的data.frame
library("data.table")
library("dplyr")
dat$range <- cut(dat$elevation, breaks = seq(0,300,50), include.lowest = T)
head(dat)
elevation classes range
1 116 1 (100,150]
2 8 1 [0,50]
3 57 2 (50,100]
4 130 3 (100,150]
5 62 1 (50,100]
6 15 1 [0,50]
我尝试按范围以50米为增量对数据进行分组,然后计算同一类的所有值。我正在尝试在下图中创建一个如下图所示的地形条形图。
我所管理的是将数据分组到范围中,但是我如何计算每个范围的所有项目并区分这些类,以便我可以像上面的示例一样绘制它?类号代表不同的土地利用类型。
#myModal
答案 0 :(得分:1)
这样的事情怎么样?
require(ggplot2);
gg <- ggplot(df, aes(y = elevation, x = range))
gg <- gg + geom_bar(
aes(fill = as.factor(classes)),
stat = "identity",
position = position_stack(reverse = TRUE));
gg <- gg + coord_flip();
df <- read.table(text =
" elevation classes range
1 116 1 (100,150]
2 8 1 [0,50]
3 57 2 (50,100]
4 130 3 (100,150]
5 62 1 (50,100]
6 15 1 [0,50]", header = T, row.names = 1)