Grafiği mobil cihazlar için optimize etme
Her iki yıl için de etiketler eklediğin için x ekseni başlığı artık oldukça gereksiz. Şimdi grafiğe ülke etiketleri ekleyeceksin; böylece tüm eksenleri kaldırabiliriz.
Bu egzersizde muhtemelen senin için yeni olacak bir durumla karşılaşacaksın: geom_text() gibi tekil geometri katmanlarına yeni veri kümeleri verebilirsin; böylece bu geometriler ilk ggplot() çağrısında verilen veri kümesini kullanmaz. Buna ihtiyacın olacak çünkü her oka sadece bir etiket eklemek istiyorsun. Orijinal veri kümesi ilo_datayı kullansaydın, her ülke için iki gözlem olduğu (1996 ve 2006) için iki etiket eklenirdi.
Bu egzersiz
Tidyverse ile Verilerle İletişim
kursunun bir parçasıdırEgzersiz talimatları
- Her ülke için yalnızca bir etiket olsun diye yeni bir veri kümesi
median_working_hoursoluşturuldu. Yapısınıstr()ile incele. - Her ülke için etiketler eklemek üzere yeni bir
geom_text()çağrısındadataargümanı olarakmedian_working_hourskullan.geom_text()için gereken estetikleri doğru belirt:xvelabelilemedian_working_hoursveri kümesindeki doğru değişkenleri göster.
- Özel
theme()çağrısında tümaxis.vepanel.gridargümanları içinelement_blank()fonksiyonunu belirterek tüm eksenleri ve arka plan ızgarasını kaldır. - Son kodu çalıştırdıktan sonra sağdaki grafik penceresini, portre modunda (dar ve uzun) bir mobil cihaz ekranını simüle edecek şekilde yeniden boyutlandır — tüm etiketler grafik görünümüne sığacak.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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)
)