Öncelikle söylemek istiyorum: Hastalık hakkında bilgisi, fikri olan bir insan değilim. Dolayısıyla bu yazı üzerinden herhangi bir yönlendirme yapmak değil amacım. Sadece veri görselleştirmeyle ilgilenen biri olarak, bu konuda son günlerde dolaşan grafiklerle ilgili küçük bir yorumumu paylaşmak istiyorum. Bu yorumum sadece hastalığa dair değil, işlerimizde de kullandığımız grafikleri okuyucularımıza doğru (veya istediğimiz şekilde) yorumlatmamızı sağlayacaktır.
Sanıyorum kendimi bildim bileli ilk kez dünya bu kadar büyük bir kriz yaşıyor ve böyle bir anda toplum psikolojisini doğru yönetmek çok önemli. Aşağıdaki grafik hastalığın ölümle sonuçlanan vakalarını anlatmak için BBC tarafından hazırlanmıştı (ben de Türkçe’ye çevirdim):
Grafikte, değerleri okumadan önce çubukların uzunluklarına odaklanıyoruz ve karşılaştığımız manzara 70 yaş üstü sevdiği bir insan bulunan herkes için korkunç olsa gerek… Peki değerlerin bu şekilde görselleştirilmesi doğru mu? Grafikte hiçbir mantık hatası veya yanlış bilgi bulunmuyor. Ancak unutmamak gereken şey şu, grafikteki en yüksek veride bile 100 hastanın 15’inde (bu değeri de küçümsemeden söylüyorum) ölüm yaşanıyor. Dolayısıyla toplumu doğru yönlendirmek için grafiğin şu şekilde paylaşılmasını daha doğru buluyorum:
Hatta tüm vakaların da grafikte yer alması kıyaslamayı daha doğru yapmamızı sağlayacaktır:
Tabii ki başka bir algı yönetimi de ölümleri değil, ölümle sonuçlanmayan vakaları grafikte göstermek olabilir:
Yakın bir zamanda bir de bu konuda paylaşılan haritalar üzerinden de bir yazı yazmayı planlıyorum. Umarım o anda da hala Türkiye’yi kırmızıya boyamadan hazırlayabilirim.
Twitter’da bu hafta gördüğüm bir paylaşımda, yeniden tasarlama içgüdümü dürten bir grafikle karşılaştım yine. Günümüz veri görselleştirme uzmanlarının köşe bucak kaçtığı grafik türü olan pie chart kullanılmıştı, hem de 3 boyutlu:
Cidden olayı “keçi inadı”na bindirmek istemiyorum ama 🙂 lütfen grafiklerinizde 3 boyut kullanmayın. Çünkü grafiğin 3 boyutlu olduğunu göstermek için bir miktar döndürmek zorunda kalacaksınız ve bu da parçaların büyüklüğünü kıyaslarken, işin içine bir de hiç istemeyeceğimiz perspektif etkeninin girmesine neden olacak. Şeki bu grafikten hangi mesajı almamız gerekiyor? İlk olarak hangi parçayı/datayı okumalıyız? Türkiye kaçıncı sırada? Hangi ülkelerden daha iyi, hangi ülkelerden daha kötü durumdayız? Hiçbirinin cevabını ilk 5 saniye içinde veremeyiz ve bu da kesinlikle istediğimiz bir durum değil.
Ne yaptım? İlk olarak ben de aynı grafiği üretmeye çalıştım. Excel’e verileri girip grafiğimi oluşturdum ve gördüm ki, paylaşımdaki grafikte kullanılan renkler doğrudan uygulamanın paletinden geliyor:
Eğer 3’ten fazla parçanın bütün içindeki paylarını kıyaslamak istiyorsanız pie chart ne yazık ki uygun bir grafik değil. Ya geri kalan parçaları birleştirip “Diğer” diye göstermek gerekiyor ya da başka bir grafiği seçmek. Ben çubuk grafiği seçmeyi tercih ettim ve Excel’den grafiğimi oluşturdum:
Excel’in default grafik ayarlarının iyi olmadığını kabul etmemiz gerekiyor. Hele ki çubuk grafikler için… Sanki çubuk grafik sadece zamansal değerleri göstermek için kullanılıyormuş gibi, son girilen veriyi en üstte gösteriyor. İlk olarak bu sırayı tersine çevirerek işleme başladım:
Fakat bu haldeyken bile sıralama içime sinmiş değil. Çünkü ülkeler, değerleri geçtim, isimlerine göre bile sıralanmış değil (zaten öyle olsa da kabul etmezdim). Henüz değere göre sıralamayı grafik ayarlarından yapmak mümkün değil, o yüzden grafiğimi oluşturan data tablosunda ülkelerin sıralamasını değiştirdim ve grafiğimin de düzenlenmesini sağladım:
Şimdi sıralama içime sindi işte… Burada atlamamak gereken bir durum var: Eminim aranızda zaten fark edenler var. “Diğer” verilerini -değeri ne olursa olsun- her zaman en altta tutun. Çünkü o değer, diğer ülke bilgilerinden farklı bir bilgi ve onların arasına karışmamalı. Bir sonraki hamle olarak da -yine Excel’in kötü bir default ayarı olan- sütunlar arası boşluk değerini düzenleyerek devam ediyorum:
Sütun kalınlığının %50’si genişliğinde bir boşluk her zaman göze hoş gelecek bir değer olacaktır… Grafikte eleyebileceğimiz ne varsa eleyip, en sade haline getirmeye çalışıyoruz. Dolayısıyla hem eksen değerlerinden, hem de grid çizgilerinden kurtulmak mümkün. Bunu da değerleri kendi sütunlarının yanına yazarak sağlıyorum:
Görüntü oldukça sade hale geldi. E artık haliyle sıradaki hamlem de anlamlı bir renk kullanımını sağlamak… Çünkü bu haliyle okuyucularımıza nereye bakmalarını istediğimizi söyleyemiyoruz. O zaman rengi “Lütfen buraya bak” demek için kullanalım:
Kırmızının öne çıkması için de diğer sütunları pasife çekiyor, yani griye boyuyorum. Tabii her zamanki gibi, bu grafiği sunmayıp bir raporda veya sosyal medyada paylaşacağımı düşünerek başlığımı mesajımı içerecek hale getiriyorum:
Son olarak da alt başlığımı, kaynağımı ekliyor ve grafiğimin gereksiz bir ayrıntısı olan çerçevesinden kurtuluyorum. Grafiğimiz yayına hazır, afiyet olsun 🙂
Grafik kullanımının yaygın olduğu alanlardan birisi de anket sonuçlarının gösterimi. Bu konuda en fazla çalışma ve sonucu da siyasal anketlerde görüyoruz. Konu için örneği Metropoll Araştırma şirketinin yaptığı bir anketten aldım ama baştan söyleyeyim, bu yazım herhangi bir siyasi mesaj/fikir içermiyor. 😉
Metropoll Araştırma şirketi, geçtiğimiz sene Eylül ayında Kaz Dağları’nda vatandaşların doğaya zarar verilmesine gösterdiği tepkinin ardından bir araştırma gerçekleştirmiş ve sonuçlarını şu tweetle paylaştı:
Örnek olarak bu paylaşımda 3. görseldeki bilgileri kullanmak istedim:
Metropoll burada tüm vatandaşların ortalamasını çubuk grafikle verip, partiler bazında fikirlerin dağılımını tablo olarak göstermeyi tercih etmiş. Veri Görselleştirme açısından baktığımda, tablo kullanımı bu bilgileri karşılaştırmak için bana uygun gelmedi ve onları da grafiğe eklemek gerektiğini düşündüm. Haliyle açtım tabii Excel’imi, girdim datayı 🙂
Excel yığılmış veya %100 yığılmış grafiği seçtiğimde yukarıdaki grafiği oluşturdu. Bu grafikten “Katılmıyorum” diyenlerin çok daha ağırlığı olduğunu görebiliyorum ancak partiler arası bir kıyas yapmak yine de mümkün değil. Çünkü yığılmış grafikler (yığılmış sütun, %100 yığılmış sütun, yığılmış çubuk, %100 yığılmış çubuk, yığılmış alan, %100 yığılmış alan… gibi) aslında bize sadece 2 değeri kıyaslama imkanı sunar: en altta gösterilen değer ve toplam. Dolayısıyla burada, partilerin “Katılıyorum” oranları kendi arasında kıyaslanabilir ama diğer iki bilgiyi sağlıklı karşılaştırmak mümkün değil. Bu yüzden grafiğimi değiştirmeye, bunun için de datamı değiştirmeye ihtiyacım var. Varmak istediğim nokta, her cevabı kendi içlerinde gruplamak, bu yüzden de aralarına boşluk (buffer) yerleştiriyorum:
Katılıyorum
Buffer1
Katılmıyorum
Buffer2
Ne katılıyorum
ne katılmıyorum
Buffer3
AKP
10%
30%
75%
36%
15%
45%
CHP
5%
35%
91%
20%
4%
56%
MHP
9%
31%
90%
21%
1%
59%
HDP
2%
38%
86%
26%
13%
47%
İYİ Parti
10%
30%
84%
27%
6%
54%
SP
20%
20%
40%
71%
40%
20%
Diğer
10%
30%
60%
51%
30%
30%
Datayı bu hale getirince oluşturduğum yığılmış grafik de şu hali alıyor:
İlk iş olarak, çubuk grafiklerde Excel’in default olarak datayı ters sırada göstermesi durumunu düzeltmek için, eksen başlıklarını biçimlendirip data tablomdaki sıralamaya getiriyorum:
Daha sonra Excel’in bir diğer mutlaka düzenlenmesi gereken default ayarı olan çubuklar arası boşluk değerini, çubuk kalınlığının yarısına getiriyorum:
Buffer dataları sadece grafikte cevapları kendi aralarında kıyaslanabilir hale getirmek için eklemiştik, dolayısıyla grafikte renkli olarak görünmelerine gerek yok. Hem dolgularını hem de çerçevelerini kaldırıyorum ki kaybolsunlar:
Buffer bölümlerinin değerleri araya girdiğinden, eksendeki değerler artık benim için anlamsız hale geldi. Dolayısıyla ekseni biçimlendirip, maksimum değerini uygun değere getirip sonrasında eksen değerlerini siliyorum:
Araştırma şirketi, tabloda partileri son seçimde aldıkları oy oranına göre sıralamış. Ancak grafiğe aldığımda bu sıralamanın benim için bir anlamı kalmadı. Bu yüzden kıyaslamayı kolaylaştırabilmek için benim için önemli olan bir değere göre sıralamalarını yeniden düzenliyorum:
Burada unutmamak gereken bir detay var, o da Diğer başlığının değeri ne olursa olsun en altta kalması gerektiği… Sıralama düzelmiş oldu ve sıra geldi renklere… An itibariyle Excel’in default renk paletindeki 1. 3. ve 5. renkler kullanıldığından, bize hiç uygun olmayan bir renk seçimi mevcut. “Yatırım yaptıkları bölgede istihdam artışı olacaksa yerli ve yabancı şirketlerin doğaya verdiği zarara göz yumulabilir.” cümlesine katılanların yatırım dostu (!), katılmayanların ise çevre dostu olduğunu düşünerek yeniden bir renklendirme yapıyorum. Tabii ki kararsızlar da pasif renge çekiliyor:
Eksen değerlerini kaldırdık ama bu kez de cevapların değerlerini okuyabileceğim bir yer kalmadı. Cevapların çubuklarına veri etiketi ekleyerek bu durumu çözebiliriz:
Ancak burada da şöyle bir sıkıntı oluşuyor. Bu etiketleri beyaz yapsak yukarıdaki kayboluyor, siyah yapsak aşağıdakiler pembenin üzerinde okunmuyor. Veri etiketlerini çubuğun dışına almak da mümkün değil yığılmış grafiklerde. Burada da yardımımıza buffer çubukları koşuyor. Değerlerimizi onların üzerine yazacağımız bir etiketle gösterebiliriz:
Eklediğim veri etiketinin “Katılıyorum” cevabı verenlere ait olduğunu daha kolay okutmak için etiketleri “Katılıyorum” çubuklarına yaslayıp metin renklerini de çubuk rengine çeviriyorum:
Fakat unutmamak gerekiyor ki, veri etiketi ekle dediğimde Excel haliyle buffer datasını etikete yazdırdı. Dolayısıyla etiketleri biçimlendirip, kendi değerleri yerine, “Katılıyorum” diyenlerin değerlerini göstermesini sağlıyorum:
İşte şimdi istediğimiz gibi görünmeye başladı. Bu işlemi buffer2 ve buffer3’te de uyguluyorum ki diğer değerlerimizi de kolayca okuyabilelim:
Eski yazılarımı okuyanlar ve eğitimlerime katılanlar bilir ki, alttaki gösterge bölümünü kullanmayı hiç sevmem. Bu yüzden oradaki renk açıklamalarını grafiğin içerisine alabilmek için datanın üzerine bir satır daha ekleyip başlıkları oraya alıyorum:
Dolayısıyla artık aşağıdaki göstergeye de ihtiyacım kalmadı, kendisinden hemen kurtulabiliriz:
Grafiğin data kısmını düzelttikten sonra sıra geldi başlığa. Başlıkta grafiği kullanma amacınıza, grafiği gösterdiğinizde iletmek istediğiniz mesaja yer vermek gerekiyor. Ben de grafikten kendime göre bir mesaj çıkardım ve onu kullandım. Tabii ki bir başkası, başka bir mesajla da paylaşabilir… Başlığa ek olarak bir de data kaynağımı da alt kısma ekledim:
Şimdi grafik benim için hazır hale geldi. En başta, tweette paylaşılan haline baktığımda ise, bir bilgiyi daha ekleyebileceğimi düşündüm, o da tüm partilerin genel datası:
Genel datası diğerlerinden farklı bir data olduğundan, bu farklılığı renk değişikliği ile belirtmeye karar verdim. Veri etiketlerini de ekleyerek grafiğimi final haline getirdim:
Buraya kadar ilgiyle okuyan herkese çok teşekkürler 🙂 Eğer gelecek haftalarda görmek istediğiniz bir paylaşım varsa yorumlarınızı bekliyorum.
Geçtiğimiz hafta, Meteoroloji Genel Müdürlüğü’nden (MGM) Erdoğan Bölük, Türkiye’de görülen hava sıcaklıklarıyla ilgili şu tweeti paylaştı:
Grafik bize diyor ki: “Son 20 yıl içerisinde yaşanan bir sıcaklık anomalisi var”. Tam bir açıklama olmasa da, her yılın ortalama sıcaklığının 2000 yılının sıcaklık ortalamasıyla olan farkını görüntülüyoruz. Grafik ne kadar alarm veren bir durumu gösterse de, zaman içerisindeki gelişimi anlayamıyoruz. Tabii hemen kolları sıvadım ve “Ben olsam nasıl yapardım?” sorusunun yanıtı için öncelikle grafiği bire bir kendim oluşturdum:
Grafiğe biraz bakınca düzenlemek isteyeceğim birkaç detay görmüştüm aslında:
Hem veri etiketi (data label) hem de Y ekseni etiketi kullanmamak.
İçeriğin ön plana çıkmasını sağlayacak beyaz arka planı kullanmak.
Grafiğin okunmasında en önemli unsurlardan birisi olan sadeliği korumak için gölge gibi bir görsel efekti kullanmamak.
X ekseninde yer alan yılların dikey değil, yatay yazılmasını sağlamak.
Başlıkta grafiğin mesajını verip, mevcut başlıktaki bilgilendirmeyi alt başlık olarak yerleştirmek.
Ancak tüm bunların ötesinde bir veri görselleştirme hatası bulunuyor grafikte. Zamansal değerleri anlatan bir grafiğin veri sıralaması, verilerin değerlerine göre değil, zamanına göre yapılmalıdır. Dolayısıyla ilk yaptığım değişiklik bu oldu:
Ancak bu durumda grafikten sıcaklık değerlerinin zaman içerisinde nasıl değiştiğini okuyabiliriz. Mevcut halinden sıcaklıkların ne zaman 2000 yılının değerlerinin altına düştüğünü, öncesinde sonrasında neler olduğunu okumak mümkün değildi.
Buradan itibaren yapılması gereken diğer değişiklikleri uyguladım:
Bu noktada da, acaba bu zamansal değişimi göstermenin doğru yolu alan grafiği midir? Yoksa örneğin çubuk grafik, sütun grafik veya çizgi grafik kullanılabilir miydi?
Bu üç grafikten kesin olarak kullanmayacağım bir grafik var, o da çubuk grafik… Çünkü çubuk grafiklerdeki 0’ın sağı/solunda pozitif/negatif değerleri görmek bizim çok alışık olduğumuz bir durum değil. Eğer bir grafikte pozitif ve negatif değerler varsa mutlaka sütun/alan/çizgi grafikten birini seçmeliyiz.
Peki bu 3 grafiğin arasında katı bir doğru var mı? Hayır. Benim seçimim çizgi grafik olurdu ama sütun veya alan seçene de lafım olmaz 🙂