Оптимізація графіка для мобільних пристроїв
Підпис осі x уже зайвий, адже ви додали підписи для обох років. Тепер ви додасте підписи країн до графіка, тож усі осі можна прибрати.
У цій вправі ви зіткнетеся з тим, чого, ймовірно, ще не робили: нові набори даних можна передавати окремим геометріям, як-от geom_text(), щоб ці геометрії не використовували набір даних із початкового виклику ggplot(). Це потрібно, бо ви хочете додати лише один підпис до кожної стрілки. Якби ви використали початковий набір даних ilo_data, було б додано два підписи, адже для кожної країни є два спостереження — за 1996 і за 2006 роки.
Ця вправа є частиною курсу
Комунікація за допомогою даних у Tidyverse
Інструкції до вправи
- Створено новий набір даних
median_working_hours, щоб був лише один підпис на країну. Перегляньте його структуру за допомогоюstr(). - Використайте
median_working_hoursяк аргументdataу новому викликуgeom_text(), щоб додати підписи для кожної країни.- Правильно вкажіть необхідні естетики для
geom_text():xіlabel, які мають посилатися на відповідні змінні в наборіmedian_working_hours.
- Правильно вкажіть необхідні естетики для
- Приберіть усі осі та фонову сітку, указавши функцію
element_blank()для всіх аргументівaxis.іpanel.gridу користувацькому викликуtheme(). - Після запуску фінального коду змініть розмір вікна графіка праворуч, щоб змоделювати екран мобільного пристрою в портретній орієнтації (вузький і високий) — усі підписи помістяться в області перегляду графіка.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Compute temporary data set for optimal label placement
median_working_hours <- ilo_data %>%
group_by(country) %>%
summarize(median_working_hours_per_country = median(working_hours)) %>%
ungroup()
# Have a look at the structure of this data set
___
ilo_dot_plot +
# Add label for country
geom_text(data = ___,
aes(y = country,
x = ___,
label = ___),
vjust = 2,
family = "Bookman",
color = "gray25") +
# Remove axes and grids
theme(
axis.ticks = ___,
axis.title = ___,
axis.text = ___,
panel.grid = ___,
# Also, let's reduce the font size of the subtitle
plot.subtitle = element_text(size = 9)
)