Table 1. Baseline clinical and demographic features of the 1305 Pima Indians (487 men, 818 women) in the study population. (From Nelson et al., 1998)
DOI: 10.1046/j.1523-1755.1998.00191.x
Table 4 . Classification results on the “Pima diabetes” dataset. (From Demidova, Klyueva. 2017)
DOI: 10.1051/itmconf/20171002002
Pima.tr dataset in R-package MASS. Diabetes in Pima Indian Women.
Smith et al., 1988
Smith, J. W., Everhart, J. E., Dickson, W. C., Knowler, W. C., & Johannes, R. S. (1988, November). Using the ADAP learning algorithm to forecast the onset of diabetes mellitus. In Proceedings of the annual symposium on computer application in medical care (p. 261). American Medical Informatics Association.
Whitlock, Schluter, 2015
Whitlock, Schluter, 2015
Whitlock, Schluter, 2015
3D графики обманчивы из-за эффекта перспективы.
Лучше использовать плоские столбчатые графики.
Если у нас есть значения одной переменной, можно изобразить таблицу частот или столбчатый график.
Занятие | Частота (число людей) |
---|---|
Трава/корм | 44 |
Лесные продукты | 11 |
Рыбалка | 8 |
Скотоводство | 7 |
Поимка тигра | 5 |
Дрова/древесина | 5 |
Сон в доме | 5 |
Прогулка | 3 |
Туалет | 2 |
Данные Gurung et al. 2008, по Whitlock, Shluter, 2015
Частота разных типов активности жертв нападений тигров в национальном парке Читван в Непале в 1979-2006гг.
Если у нас есть значения одной переменной, можно изобразить таблицу частот или столбчатый график.
Занятие | Частота (число людей) |
---|---|
Трава/корм | 44 |
Лесные продукты | 11 |
Рыбалка | 8 |
Скотоводство | 7 |
Поимка тигра | 5 |
Дрова/древесина | 5 |
Сон в доме | 5 |
Прогулка | 3 |
Туалет | 2 |
Данные Gurung et al. 2008, по Whitlock, Shluter, 2015
Частота разных типов активности жертв нападений тигров в национальном парке Читван в Непале в 1979-2006гг.
Категории имеет смысл изображать в порядке важности.
Занятие | Процент людей |
---|---|
Трава/корм | 44 |
Лесные продукты | 11 |
Рыбалка | 8 |
Скотоводство | 7 |
Поимка тигра | 5 |
Дрова/древесина | 5 |
Сон в доме | 5 |
Прогулка | 3 |
Туалет | 2 |
Данные Gurung et al. 2008, по Whitlock, Shluter, 2015
Типы активности жертв нападений тигров (%) в национальном парке Читван в Непале в 1979-2006гг.
Данные Gurung et al. 2008, по Whitlock, Shluter, 2015
Гистограмма показывает количество значений, попадающих в определенный интервал (классовый интервал).
Распределение размеров двустворчатых моллюсков Limecola baltica, просверленных улиткой Amauropsis islandica (высота раковины 12.5 мм).
Aristov, Varfolomeeva, 2015, Fig.5
Распределение веса младенцев при рождении. Данные были собраны в медицинском центре Baystate, Спрингфилд, в 1986 г.
Данные birthwt из пакета MASS из Hosmer, Lemeshow, 1989
Распределение веса младенцев при рождении. Данные были собраны в медицинском центре Baystate, Спрингфилд, в 1986 г.
Данные birthwt из пакета MASS из Hosmer, Lemeshow, 1989
Метод Стурджеса (Sturges, 1926), плохо работает при n<30
ks=1+log2(n)
ks=1+log2(189)=9
Данные birthwt из пакета MASS из Hosmer, Lemeshow, 1989
Метод Стурджеса (Sturges, 1926), плохо работает при n<30
ks=1+log2(n)
ks=1+log2(189)=9
Данные birthwt из пакета MASS из Hosmer, Lemeshow, 1989
Метод Фридмана-Диакониса (Freedman, Diakonis, 1981)
hfd=2IQR(x)3√n, kfd=(max−min)/hfd
I и III квартили — 2414, 3487,
n = 189, max = 4990, min = 709.
hfd=210733√189, kfd=12
Есть множество методов определения оптимального числа интервалов (wiki)
Связь между двумя категориальными переменными можно показать в виде таблицы сопряженности.
Частота болезней, передающихся через воду в зависимости от поставщика воды в Кисуму, Кения.
Disease |
||
---|---|---|
Supplier | No | Yes |
Communal | 170 | 85 |
Non-communal | 30 | 32 |
Ananga et al. 2017, DOI: 10.1016/j.habitatint.2017.02.004
График с группами столбцов
Мозаичный график
Ananga et al. 2017, DOI: 10.1016/j.habitatint.2017.02.004
Диаграмма рассеяния (scatterplot) позволяет показать связь между двумя непрерывными переменными.
Связь массы тела и длины крыла у пингвинов трех видов (Адели, Генту, Чинстрап)
Данные Kristen Gorman, 2007-2009 Palmer Station Long Term Ecological Research Program
Связь массы тела и длины крыла у пингвинов трех видов (Адели, Генту, Чинстрап)
Данные Kristen Gorman, 2007-2009 Palmer Station Long Term Ecological Research Program
Иногда это просто обязательно, т.к. зависимости в разных группах данных могут выглядеть по-разному.
Связь высоты и длины клюва у пингвинов трех видов (Адели, Генту, Чинстрап)
Данные Kristen Gorman, 2007-2009 Palmer Station Long Term Ecological Research Program
Ежегодное количество пойманных рысей в 1821–1934 гг. в Канаде.
Ежемесячное число погибших или серьезно раненых водителей с января 1969 г. по декабрь 1984 г. в Великобритании. Обязательное использование ремней безопасности было введено 31 января 1983 г.
Количество животных погибших на автодороге БР-262 (столбцы — 10-километровые отрезки) и средняя высота в пределах каждого отрезка (пунктирная линия).
Desouza et al., 2014, DOI: 10.1007/s11273-014-9372-4
Сезонная адаптация Arabidopsis thaliana. Карта прогнозов времени цветения и старения растений, скорости прорастания, не зависящей от температуры, и весеннего прорастания, индуцированного/заблокированного холодом. Красная зона - рост осенью, размножение весной. Зеленая - зимний цикл факультативен. Фиолетовая зона быстрый весенне-летний цикл. Синяя зона - зимний цикл, позднее цветение.
Известно, какие аллели функционируют в каких частях ареала.
https://commons.wikimedia.org/wiki/File:Arabidopsis_thaliana_inflorescencias.jpg#filelinks
Данные для анализа должны быть специальным образом отформатированы.
Подготовка данных занимает около 80% времени всего анализа (Dasu and Johnson 2003).
Like families, tidy datasets are all alike but every messy dataset is messy in its own way. Tidy datasets provide a standardized way to link the structure of a dataset (its physical layout) with its semantics (its meaning).
— Hadley Wickham
Wickham, 2016, Fig 12.1
Wickham, H. (2014). Tidy Data. Journal of Statistical Software, 59(i10).
Мы уже видели один пример —
Pima.tr dataset in R-package MASS. Diabetes in Pima Indian Women.
Smith et al., 1988
Переменные
Переменные
Наблюдения могут иметь уникальные имена, которые могут быть записаны в отдельном столбце.
Переменные
Наблюдения могут иметь уникальные имена, которые могут быть записаны в отдельном столбце.
Значения
NA
).Переменные
Наблюдения могут иметь уникальные имена, которые могут быть записаны в отдельном столбце.
Значения
NA
).npreg | glu | bp | skin | bmi | ped | age | type | |
---|---|---|---|---|---|---|---|---|
1 | 5 | 86 | 68 | 28 | 30.2 | 0.364 | 24 | No |
2 | 7 | 195 | 70 | 33 | 25.1 | 0.163 | 55 | Yes |
3 | 5 | 77 | 82 | 41 | 35.8 | 0.156 | 35 | No |
4 | 0 | 165 | 76 | 43 | 47.9 | 0.259 | 26 | No |
5 | 0 | 107 | 60 | 25 | 26.4 | 0.133 | 23 | No |
Wilkinson, L. (2012). The grammar of graphics. In Handbook of computational statistics (pp. 375-414). Springer, Berlin, Heidelberg.
Wickham, H. (2010). A layered grammar of graphics. Journal of Computational and Graphical Statistics, 19(1), 3-28.
Источник: towardsdatascience.com
Т.е. графики создаются послойно.
ggplot2
gg в названии пакета — это grammar of graphics.
Активируем пакет ggplot2
library(ggplot2)
Данные для графика ggplot2
должны быть в виде датафрейма.
Попробуем нарисовать данные из датасета penguins
про пингвинов Адели, Генту и Чинстрап, который хранится в пакете palmerpenguins
.
bluegio at deviantart.com
library(palmerpenguins)head(penguins, 2)
# A tibble: 2 × 8 species island bill_length_mm bill_…¹ flipp…² body_…³ sex year <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int>1 Adelie Torgersen 39.1 18.7 181 3750 male 20072 Adelie Torgersen 39.5 17.4 186 3800 fema… 2007# … with abbreviated variable names ¹bill_depth_mm,# ²flipper_length_mm, ³body_mass_g
colnames(penguins)
[1] "species" "island" "bill_length_mm" [4] "bill_depth_mm" "flipper_length_mm" "body_mass_g" [7] "sex" "year"
ggplot(data = penguins)
При помощи функции aes()
задаем эстетики — свойства графика, при помощи которых будут отображены данные.
Простейшие эстетики — это x
и y
— координаты по осям.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g))
Геомы — графические объекты в виде которых будут изображены свойства данных.
Простейший геом — точки geom_point()
Отдельные слои графика разделяются знаком +
. Разрыв строки можно ставить только после него, не до.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point()
Например, у точек есть свойства shapе
— форма, size
— размер, colour
— цвет и т.д.
Изменим цвет точек на красный и зададим размер точек 3. Это не эстетики, т.к. ни цвет ни размер никак не связаны с данными, поэтому не используется функция aes()
.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(colour = "red", size = 3)
Если цвет должен отражать какое-то свойство данных — это эстетика. Пусть цвет отражает вид пингвинов.
Размер здесь по-прежнему не эстетика.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3)
scale_*()
управляют эстетикамиЦветовой палитрой эстетики colour
управляют шкалы scale_color_*
.
scale_color_brewer()
— брюйеровские цветовые палитры. У них есть имена.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3) + scale_color_brewer(palette = "Set2")
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3) + scale_color_brewer(palette = "Set2") + labs(x = "Flipper length, mm", y = "Body mass, g")
facet_*()
делят график на частиggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3) + scale_color_brewer(palette = "Set2") + labs(x = "Flipper length, mm", y = "Body mass, g") + facet_wrap(~ island)
gg_peng1 <- ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3) + scale_color_brewer(palette = "Set2") + labs(x = "Flipper length, mm", y = "Body mass, g") + facet_wrap(~ island)gg_peng1
theme()
настраивает оформление графикаНапример, можно отключить (или переставить) легенду,
изменить положение подписей для конкретного графика.
gg_peng1 + theme(legend.position = "bottom", axis.text.x = element_text(angle = 45, hjust = 1))
Встроенные темы theme_*()
можно применить для конкретного графика, добавив их как отдельный слой.
base_size
— задает базовый размер графических элементов и шрифтов
gg_peng1 + theme_classic(base_size = 20)
Можно установить какую-то тему для всех последующих графиков при помощи theme_set()
theme_set(theme_bw(base_size = 20))gg_peng1
При помощи функции ggsave() можно сохранить график в векторный или растровый формат.
filename
— путь (отн. рабочей директории) и имя файла.
# Векторный формат svgggsave(filename = "plot_penguins.svg", plot = gg_peng1)# Растровый формат pngggsave(filename = "plot_penguins.png", plot = gg_peng1)
Сайт, посвященный работам Эдварда Тафта
ggplot2
Сайт книги R Graphics Cookbook — книга Winston Chang про графики в ggplot2 с рецептами решений практически на все случаи жизни
Keyboard shortcuts
↑, ←, Pg Up, k | Go to previous slide |
↓, →, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
o | Tile View: Overview of Slides |
s | Toggle scribble toolbox |
Esc | Back to slideshow |
Table 1. Baseline clinical and demographic features of the 1305 Pima Indians (487 men, 818 women) in the study population. (From Nelson et al., 1998)
DOI: 10.1046/j.1523-1755.1998.00191.x
Table 4 . Classification results on the “Pima diabetes” dataset. (From Demidova, Klyueva. 2017)
DOI: 10.1051/itmconf/20171002002
Pima.tr dataset in R-package MASS. Diabetes in Pima Indian Women.
Smith et al., 1988
Smith, J. W., Everhart, J. E., Dickson, W. C., Knowler, W. C., & Johannes, R. S. (1988, November). Using the ADAP learning algorithm to forecast the onset of diabetes mellitus. In Proceedings of the annual symposium on computer application in medical care (p. 261). American Medical Informatics Association.
Whitlock, Schluter, 2015
Whitlock, Schluter, 2015
Whitlock, Schluter, 2015
3D графики обманчивы из-за эффекта перспективы.
Лучше использовать плоские столбчатые графики.
Если у нас есть значения одной переменной, можно изобразить таблицу частот или столбчатый график.
Занятие | Частота (число людей) |
---|---|
Трава/корм | 44 |
Лесные продукты | 11 |
Рыбалка | 8 |
Скотоводство | 7 |
Поимка тигра | 5 |
Дрова/древесина | 5 |
Сон в доме | 5 |
Прогулка | 3 |
Туалет | 2 |
Данные Gurung et al. 2008, по Whitlock, Shluter, 2015
Частота разных типов активности жертв нападений тигров в национальном парке Читван в Непале в 1979-2006гг.
Если у нас есть значения одной переменной, можно изобразить таблицу частот или столбчатый график.
Занятие | Частота (число людей) |
---|---|
Трава/корм | 44 |
Лесные продукты | 11 |
Рыбалка | 8 |
Скотоводство | 7 |
Поимка тигра | 5 |
Дрова/древесина | 5 |
Сон в доме | 5 |
Прогулка | 3 |
Туалет | 2 |
Данные Gurung et al. 2008, по Whitlock, Shluter, 2015
Частота разных типов активности жертв нападений тигров в национальном парке Читван в Непале в 1979-2006гг.
Категории имеет смысл изображать в порядке важности.
Занятие | Процент людей |
---|---|
Трава/корм | 44 |
Лесные продукты | 11 |
Рыбалка | 8 |
Скотоводство | 7 |
Поимка тигра | 5 |
Дрова/древесина | 5 |
Сон в доме | 5 |
Прогулка | 3 |
Туалет | 2 |
Данные Gurung et al. 2008, по Whitlock, Shluter, 2015
Типы активности жертв нападений тигров (%) в национальном парке Читван в Непале в 1979-2006гг.
Данные Gurung et al. 2008, по Whitlock, Shluter, 2015
Гистограмма показывает количество значений, попадающих в определенный интервал (классовый интервал).
Распределение размеров двустворчатых моллюсков Limecola baltica, просверленных улиткой Amauropsis islandica (высота раковины 12.5 мм).
Aristov, Varfolomeeva, 2015, Fig.5
Распределение веса младенцев при рождении. Данные были собраны в медицинском центре Baystate, Спрингфилд, в 1986 г.
Данные birthwt из пакета MASS из Hosmer, Lemeshow, 1989
Распределение веса младенцев при рождении. Данные были собраны в медицинском центре Baystate, Спрингфилд, в 1986 г.
Данные birthwt из пакета MASS из Hosmer, Lemeshow, 1989
Метод Стурджеса (Sturges, 1926), плохо работает при n<30
ks=1+log2(n)
ks=1+log2(189)=9
Данные birthwt из пакета MASS из Hosmer, Lemeshow, 1989
Метод Стурджеса (Sturges, 1926), плохо работает при n<30
ks=1+log2(n)
ks=1+log2(189)=9
Данные birthwt из пакета MASS из Hosmer, Lemeshow, 1989
Метод Фридмана-Диакониса (Freedman, Diakonis, 1981)
hfd=2IQR(x)3√n, kfd=(max−min)/hfd
I и III квартили — 2414, 3487,
n = 189, max = 4990, min = 709.
hfd=210733√189, kfd=12
Есть множество методов определения оптимального числа интервалов (wiki)
Связь между двумя категориальными переменными можно показать в виде таблицы сопряженности.
Частота болезней, передающихся через воду в зависимости от поставщика воды в Кисуму, Кения.
Disease |
||
---|---|---|
Supplier | No | Yes |
Communal | 170 | 85 |
Non-communal | 30 | 32 |
Ananga et al. 2017, DOI: 10.1016/j.habitatint.2017.02.004
График с группами столбцов
Мозаичный график
Ananga et al. 2017, DOI: 10.1016/j.habitatint.2017.02.004
Диаграмма рассеяния (scatterplot) позволяет показать связь между двумя непрерывными переменными.
Связь массы тела и длины крыла у пингвинов трех видов (Адели, Генту, Чинстрап)
Данные Kristen Gorman, 2007-2009 Palmer Station Long Term Ecological Research Program
Связь массы тела и длины крыла у пингвинов трех видов (Адели, Генту, Чинстрап)
Данные Kristen Gorman, 2007-2009 Palmer Station Long Term Ecological Research Program
Иногда это просто обязательно, т.к. зависимости в разных группах данных могут выглядеть по-разному.
Связь высоты и длины клюва у пингвинов трех видов (Адели, Генту, Чинстрап)
Данные Kristen Gorman, 2007-2009 Palmer Station Long Term Ecological Research Program
Ежегодное количество пойманных рысей в 1821–1934 гг. в Канаде.
Ежемесячное число погибших или серьезно раненых водителей с января 1969 г. по декабрь 1984 г. в Великобритании. Обязательное использование ремней безопасности было введено 31 января 1983 г.
Количество животных погибших на автодороге БР-262 (столбцы — 10-километровые отрезки) и средняя высота в пределах каждого отрезка (пунктирная линия).
Desouza et al., 2014, DOI: 10.1007/s11273-014-9372-4
Сезонная адаптация Arabidopsis thaliana. Карта прогнозов времени цветения и старения растений, скорости прорастания, не зависящей от температуры, и весеннего прорастания, индуцированного/заблокированного холодом. Красная зона - рост осенью, размножение весной. Зеленая - зимний цикл факультативен. Фиолетовая зона быстрый весенне-летний цикл. Синяя зона - зимний цикл, позднее цветение.
Известно, какие аллели функционируют в каких частях ареала.
https://commons.wikimedia.org/wiki/File:Arabidopsis_thaliana_inflorescencias.jpg#filelinks
Данные для анализа должны быть специальным образом отформатированы.
Подготовка данных занимает около 80% времени всего анализа (Dasu and Johnson 2003).
Like families, tidy datasets are all alike but every messy dataset is messy in its own way. Tidy datasets provide a standardized way to link the structure of a dataset (its physical layout) with its semantics (its meaning).
— Hadley Wickham
Wickham, 2016, Fig 12.1
Wickham, H. (2014). Tidy Data. Journal of Statistical Software, 59(i10).
Мы уже видели один пример —
Pima.tr dataset in R-package MASS. Diabetes in Pima Indian Women.
Smith et al., 1988
Переменные
Переменные
Наблюдения могут иметь уникальные имена, которые могут быть записаны в отдельном столбце.
Переменные
Наблюдения могут иметь уникальные имена, которые могут быть записаны в отдельном столбце.
Значения
NA
).Переменные
Наблюдения могут иметь уникальные имена, которые могут быть записаны в отдельном столбце.
Значения
NA
).npreg | glu | bp | skin | bmi | ped | age | type | |
---|---|---|---|---|---|---|---|---|
1 | 5 | 86 | 68 | 28 | 30.2 | 0.364 | 24 | No |
2 | 7 | 195 | 70 | 33 | 25.1 | 0.163 | 55 | Yes |
3 | 5 | 77 | 82 | 41 | 35.8 | 0.156 | 35 | No |
4 | 0 | 165 | 76 | 43 | 47.9 | 0.259 | 26 | No |
5 | 0 | 107 | 60 | 25 | 26.4 | 0.133 | 23 | No |
Wilkinson, L. (2012). The grammar of graphics. In Handbook of computational statistics (pp. 375-414). Springer, Berlin, Heidelberg.
Wickham, H. (2010). A layered grammar of graphics. Journal of Computational and Graphical Statistics, 19(1), 3-28.
Источник: towardsdatascience.com
Т.е. графики создаются послойно.
ggplot2
gg в названии пакета — это grammar of graphics.
Активируем пакет ggplot2
library(ggplot2)
Данные для графика ggplot2
должны быть в виде датафрейма.
Попробуем нарисовать данные из датасета penguins
про пингвинов Адели, Генту и Чинстрап, который хранится в пакете palmerpenguins
.
bluegio at deviantart.com
library(palmerpenguins)head(penguins, 2)
# A tibble: 2 × 8 species island bill_length_mm bill_…¹ flipp…² body_…³ sex year <fct> <fct> <dbl> <dbl> <int> <int> <fct> <int>1 Adelie Torgersen 39.1 18.7 181 3750 male 20072 Adelie Torgersen 39.5 17.4 186 3800 fema… 2007# … with abbreviated variable names ¹bill_depth_mm,# ²flipper_length_mm, ³body_mass_g
colnames(penguins)
[1] "species" "island" "bill_length_mm" [4] "bill_depth_mm" "flipper_length_mm" "body_mass_g" [7] "sex" "year"
ggplot(data = penguins)
При помощи функции aes()
задаем эстетики — свойства графика, при помощи которых будут отображены данные.
Простейшие эстетики — это x
и y
— координаты по осям.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g))
Геомы — графические объекты в виде которых будут изображены свойства данных.
Простейший геом — точки geom_point()
Отдельные слои графика разделяются знаком +
. Разрыв строки можно ставить только после него, не до.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point()
Например, у точек есть свойства shapе
— форма, size
— размер, colour
— цвет и т.д.
Изменим цвет точек на красный и зададим размер точек 3. Это не эстетики, т.к. ни цвет ни размер никак не связаны с данными, поэтому не используется функция aes()
.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(colour = "red", size = 3)
Если цвет должен отражать какое-то свойство данных — это эстетика. Пусть цвет отражает вид пингвинов.
Размер здесь по-прежнему не эстетика.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3)
scale_*()
управляют эстетикамиЦветовой палитрой эстетики colour
управляют шкалы scale_color_*
.
scale_color_brewer()
— брюйеровские цветовые палитры. У них есть имена.
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3) + scale_color_brewer(palette = "Set2")
ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3) + scale_color_brewer(palette = "Set2") + labs(x = "Flipper length, mm", y = "Body mass, g")
facet_*()
делят график на частиggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3) + scale_color_brewer(palette = "Set2") + labs(x = "Flipper length, mm", y = "Body mass, g") + facet_wrap(~ island)
gg_peng1 <- ggplot(data = penguins, aes(x = flipper_length_mm, y = body_mass_g)) + geom_point(aes(color = species), size = 3) + scale_color_brewer(palette = "Set2") + labs(x = "Flipper length, mm", y = "Body mass, g") + facet_wrap(~ island)gg_peng1
theme()
настраивает оформление графикаНапример, можно отключить (или переставить) легенду,
изменить положение подписей для конкретного графика.
gg_peng1 + theme(legend.position = "bottom", axis.text.x = element_text(angle = 45, hjust = 1))
Встроенные темы theme_*()
можно применить для конкретного графика, добавив их как отдельный слой.
base_size
— задает базовый размер графических элементов и шрифтов
gg_peng1 + theme_classic(base_size = 20)
Можно установить какую-то тему для всех последующих графиков при помощи theme_set()
theme_set(theme_bw(base_size = 20))gg_peng1
При помощи функции ggsave() можно сохранить график в векторный или растровый формат.
filename
— путь (отн. рабочей директории) и имя файла.
# Векторный формат svgggsave(filename = "plot_penguins.svg", plot = gg_peng1)# Растровый формат pngggsave(filename = "plot_penguins.png", plot = gg_peng1)
Сайт, посвященный работам Эдварда Тафта
ggplot2
Сайт книги R Graphics Cookbook — книга Winston Chang про графики в ggplot2 с рецептами решений практически на все случаи жизни