Jak umieścić etykiety nad paskiem geom dla każdego paska w R za pomocą ggplot2
Znalazłem to, Jak umieścić etykiety nad geom_barem w R z ggplot2 , ale to po prostu umieścić etykiety (numery) nad jednym paskiem.
Oto, powiedzmy, dwa paski dla każdej osi x, jak zrobić to samo?
Moje dane i Kod wyglądają tak:
dat <- read.table(text = "sample Types Number
sample1 A 3641
sample2 A 3119
sample1 B 15815
sample2 B 12334
sample1 C 2706
sample2 C 3147", header=TRUE)
library(ggplot2)
bar <- ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge') + geom_text(aes(label=Number))
Wtedy otrzymamy:
Wydaje się, że teksty liczb są również umieszczone we wzorze "dodge". Przeszukałem podręcznik geom_text , aby znaleźć jakieś informacje, ale nie mogę tego zrobić.
Sugestie?
55
2 answers
Spróbuj tego:
ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = 'dodge', stat='identity') +
geom_text(aes(label=Number), position=position_dodge(width=0.9), vjust=-0.25)
89
Author: rcs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-19 09:52:36
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-19 09:52:36
Aby dodać do odpowiedzi rcs, jeśli chcesz użyć position_dodge () z geom_bar (), gdy x jest POSIX.ct Data, należy pomnożyć Szerokość przez 86400, np.,
ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) +
geom_bar(position = "dodge", stat = 'identity') +
geom_text(aes(label=Number), position=position_dodge(width=0.9*86400), vjust=-0.25)
3
Author: matmat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-23 17:51:37
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-23 17:51:37