嗨,
我尝试在ggplot2
. 我有 476970 个观察值。我做了一个 stackerd bar,但我需要把总数放在每个方块的中间
对于每个月和每年,我都有很多值。
library(ggplot2)
ggplot(dt,aes(x=MES,y=CANTIDAD, fill= ANO,label=CANTIDAD))
geom_bar(stat = 'identity')
我通过结果添加 geom_text 是非常错误的
library(ggplot2)
ggplot(dt,aes(x=MES,y=CANTIDAD, fill= ANO,label=CANTIDAD))
geom_bar(stat = 'identity')
geom_text(position = "stack", aes(x = MES, y = CANTIDAD, label = CANTIDAD, hjust = 0.5))
我试了一下,geom_cor()
但结果是一样的。
我在论坛中证明了 diffente 选项,但代码运行不佳。
structure(list(CANTIDAD = c(1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1,
2, 1, 3, 1, 2, 2, 1, 1, 1, 12, 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 4, 3, 1, 1, 1, 1,
1, 1, 3, 1, 3, 1, 3, 1, 1, 3, 1, 10, 2, 1, 2, 1, 1, 2, 1, 8,
1, 1, 1), ANO = c("2010", "2010", "2010", "2010", "2010", "2010",
"2010", "2010", "2010", "2010", "2010", "2010", "2010", "2010",
"2010", "2010", "2010", "2010", "2010", "2010", "2012", "2012",
"2012", "2012", "2012", "2012", "2012", "2012", "2012", "2012",
"2012", "2014", "2014", "2014", "2014", "2014", "2014", "2014",
"2014", "2014", "2014", "2014", "2015", "2015", "2015", "2015",
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2016",
"2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016",
"2016", "2016", "2019", "2019", "2019", "2019", "2019", "2019",
"2019", "2019", "2019", "2019", "2019"), MES = c("01", "01",
"01", "01", "01", "01", "01", "01", "01", "01", "01", "01", "01",
"01", "01", "01", "01", "01", "01", "01", "10", "10", "10", "10",
"10", "10", "10", "10", "10", "10", "10", "02", "02", "02", "02",
"02", "02", "02", "02", "02", "02", "02", "12", "12", "12", "12",
"12", "12", "12", "12", "12", "12", "12", "10", "10", "10", "10",
"10", "10", "10", "10", "10", "10", "10", "01", "01", "01", "01",
"01", "01", "01", "01", "01", "01", "01")), row.names = c(1L,
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L,
16L, 17L, 18L, 19L, 20L, 50000L, 50001L, 50002L, 50003L, 50004L,
50005L, 50006L, 50007L, 50008L, 50009L, 50010L, 80000L, 80001L,
80002L, 80003L, 80004L, 80005L, 80006L, 80007L, 80008L, 80009L,
80010L, 150000L, 150001L, 150002L, 150003L, 150004L, 150005L,
150006L, 150007L, 150008L, 150009L, 150010L, 190000L, 190001L,
190002L, 190003L, 190004L, 190005L, 190006L, 190007L, 190008L,
190009L, 190010L, 300000L, 300001L, 300002L, 300003L, 300004L,
300005L, 300006L, 300007L, 300008L, 300009L, 300010L), class = "data.frame")
谢谢,
uj5u.com热心网友回复:
我不确定总数的意思,但你可以试试
library(dplyr)
library(ggplot2)
dt2 <- dt %>%
group_by(ANO, MES) %>%
summarize(CANTIDAD = sum(CANTIDAD))
ggplot(dt,aes(x=MES,y=CANTIDAD, fill= ANO,label=CANTIDAD))
geom_bar(stat = 'identity')
geom_text(data = dt2, position = position_stack(vjust = .5), aes(x = MES, y = CANTIDAD, label = CANTIDAD, hjust = 0.5))
0 评论