Давайте сначала разберемся с группами, а затем ответим во второй части о добавлении меток.
Если вы хотите построить график по группам, в основном есть два варианта.Первое - это огранка, как у вас.Второй - сгруппировать точки, либо явно используя aes(group = City)
, либо с помощью другой эстетики, такой как aes(color = City)
.
Если при втором подходе создается грязный график, например, с множеством пересекающихся линий, то этолучше всего использовать фасеты.
Несколько примеров использования набора данных iris
.
Сначала группируем по цвету:
library(ggplot2)
iris %>%
ggplot(aes(Petal.Length, Sepal.Length)) +
geom_point(aes(color = Species)) +
geom_smooth(method = "lm",
aes(color = Species),
se = FALSE)
Группировка по группам:
iris %>%
ggplot(aes(Petal.Length, Sepal.Length)) +
geom_point(aes(group = Species)) +
geom_smooth(method = "lm",
aes(color = Species),
se = FALSE)
Использование фасетов:
iris %>%
ggplot(aes(Petal.Length, Sepal.Length)) +
geom_point() +
geom_smooth(method = "lm",
se = FALSE) +
facet_wrap(~Species)
Для добавления меток, таких как коэффициенты, посмотрите на пакет ggpmisc .Вот один из способов добавить коэффициенты, используя stat_fit_tb
:
iris %>%
ggplot(aes(Petal.Length, Sepal.Length)) +
geom_point() +
geom_smooth(method = "lm",
se = FALSE) +
facet_wrap(~Species) +
stat_fit_tb(method = "lm",
tb.type = "fit.coefs")