Чтобы узнать больше о регулировке положения, загляните в раздел справки, посвященный каждой из перечисленных настроек.
Упражнения
1. Какие параметры функции geom_jitter() регулируют количество дрожаний?
2. Примените geom_jitter() и geom_count(), сравните полученные результаты.
3. Какая настройка положения используется в функции geom_boxplot() по умолчанию? Создайте на её основе визуализацию своего набора данных.
Заключительной частью настоящей главы рассмотрим настройку систем координат для построения графиков. Система координат, пожалуй, имеет самый сложный функционал в ggplot2. Естественно, по умолчанию используется прямоугольная декартова система координат, в которой значения x и y позволяют однозначно определить местоположение каждой точки. Но есть и другие системы координат, которые иногда полезны. Функция coord_flip() меняет местами оси x и y. Это пригодится, если хотите нарисовать горизонтальные боковые диаграммы,а также полезно для длинных графиков, которые трудно подгонять без перекрытия по оси x.
# левый график
ggplot(data = My_table[My_table$Класс == "7а" | My_table$Класс == "7б",],
mapping = aes(x = Класс, y = Тема2)) +
geom_boxplot()
# правый график
ggplot(data = My_table[My_table$Класс == "7а" | My_table$Класс == "7б",],
mapping = aes(x = Класс, y = Тема2)) +
geom_boxplot() +
coord_flip()
Функция coord_quickmap() устанавливает соотношение сторон правильным для карт. Это очень важно, если строите планы карт местности с помощью ggplot2. Например:
1) Установите пакет карт, если не использовали его ранее.
install.packages("maps")
2) Подключите соответствующую библиотеку.
library(maps)
3) Заполните переменную картографическими данными.
ru <– map_data("world")
4) Теперь можно получить изображение карты в корректном масштабе
ggplot(ru, aes(long, lat, group = group)) +
geom_polygon(alpha=1/5, fill = "green", color = "black") +
coord_quickmap()
Функция coord_polar() переключает графопостроитель в режим полярных координат. Полярный координаты позволяют визуализировать интересную связь между линейчатой и круговой диаграммами. Напоследок вернёмся к тому, с чего начинали, – алмазам и их популярности в зависимости от качества. В следующем примере переменная bar заполняется вызовом процедуры формирования блоков данных для изображения. Далее, диаграмма транспонируется, тем самым приводя к линейчатому виду, и изображается в полярной системе координат отдельно:
bar <– ggplot(data = diamonds) +
geom_bar(
mapping = aes(x = cut, fill = cut),
show.legend = FALSE,
width = 1
) +
theme(aspect.ratio = 1) +
labs(x = NULL, y = NULL)
bar + coord_flip()
bar + coord_polar()
Упражнения
1. Преобразуйте линейчатую диаграмму с накоплением в круговую диаграмму с помощью coord_polar().
2. Где и как используется функция labs()? Ознакомьтесь с документацией.
3. В чем разница между coord_quickmap() и coord_map()?
4. Почему важно применение coord_fixed()? Что делает функция geom_abline()?
5. Выполните аналогично разобранной визуализацию успеваемости учеников своего класса.
Выше было показано как создавать диаграммы рассеяния, гистограммы и прямоугольные-диаграммы. После закрепления на практике сформировался навык, легко применимый к освоению диаграмм ggplot2 любого типа. Чтобы закрепить изученное, добавим настройки положения, статистическую обработку, настройки системы координат и разбиение данных к исходному шаблону кода:
ggplot(data = <данные>) +
<geom_основная функция графопостроителя>(
mapping = aes(<сопоставления с координатными осями и эстетикой>),
stat = <сбор дополнительной статистики>,
position = <позиция фрагментов диаграммы>
) +