Veri Görselleştirmede Grafik Seçimi ve Okunur Tasarım
Bir grafiğin işi süslemek değil, karşılaştırmayı gözle yapılabilir kılmak. Aynı veri pasta dilimi olarak yanıltır, yatay bar olarak beş saniyede okunur. Fark tasarımcının zevkinde değil, insan gözünün hangi görsel özelliği ne kadar doğru ölçtüğünde. Aşağıdakiler bir grafik hazırlarken sırayla verilecek kararlar: biçim, eksen, sıralama, format.
Önce karşılaştırmayı seç, sonra grafiği
Grafik tipini veriye değil, okuyucunun yapacağı işe göre seç. Okuyucu iki değeri kıyaslayacaksa ortak bir taban çizgisi ver. Bir bütünün payını gösteriyorsan bile, pay sayısı arttıkça pasta çöker.
Cleveland ve McGill'in 1984'teki algı deneylerinden bu yana bilinen sıralama şu: ortak eksende konum en doğru okunan kodlama, sonra uzunluk, sonra açı ve eğim, en sonda alan ve renk yoğunluğu. Pasta grafiği açıyla, kabarcık grafiği alanla çalışır, yani ikisi de listenin alt ucunda.
Bunu somutlaştırmak kolay: sekiz dilimli bir pastada iki kategori arasındaki iki puanlık fark 7 derecelik bir açı farkı demek, üstelik dilimler farklı yönlere dönük olduğu için gözün referansı da yok. Aynı iki puan, ortak tabana oturan yatay barlarda doğrudan görünür. Beş dilimi geçen pastayı bar grafiğe çevir; kimse dilim açılarını zihninde döndürüp kıyaslamıyor.
Sıfırdan başlama kuralının sınırı
"Eksen her zaman sıfırdan başlamalı" tavsiyesi yarım bir kural. Bar grafikte uzunluk değerin kendisini kodlar; tabanı 90'dan başlatırsan 95 ile 98 arasındaki fark üç katına çıkmış gibi görünür, bu gerçekten manipülasyondur.
Çizgi grafikte kodlanan şey uzunluk değil, konum ve eğim. Sunucu yanıt süresi gün boyu 180-220 ms arasında geziniyorsa ekseni sıfıra indirmek tüm hareketi düz bir çizgiye ezer ve asıl bilgiyi yok eder. Kural şuraya oturuyor: sıfır zorunluluğu uzunlukla kodlanan grafiklere ait. Konumla kodlayan grafiklerde eksen aralığını veriye göre daralt, ama daralttığını eksende görünür kıl.
Sıralama, işin yarısını bedavaya halleder
Kategorik veride alfabetik sıra neredeyse hep yanlış seçim. Barları değere göre sıraladığın anda "hangisi önde, hangisi geride" sorusu grafiğe bakılmadan cevaplanır. İstisnası doğal sırası olan veriler: yaş aralıkları, aylar, gelir dilimleri. Onlarda kendi sırasını bozma, çünkü okuyucu zaten o sırayı bekliyor.
Etiketlerde de aynı ekonomi geçerli. Barın ucundaki sayıyı doğrudan yaz, okuyucuyu eksene bakıp interpolasyon yapmaya zorlama. Sayı yazdıysan ızgara çizgilerinin çoğuna gerek kalmaz.
SVG her yerde doğru cevap değil
Vektörel format her ölçekte keskin kalır ve metni gerçek metin olarak taşır; erişilebilirlik ve arama açısından tek başına yeterli sebep. Ama SVG'de her nokta bir DOM düğümü. Birkaç yüz elemanlı bir bar veya çizgi grafikte bu sorun değil, on binlerce noktalı bir saçılım grafiğinde tarayıcı düğüm sayısının altında kalır: ilk render uzar, hover ve zoom takılır.
Eşik projeye göre kayar, ama pratik ayrım net: eleman sayısı binlerle ifade ediliyorsa canvas ya da WebGL tabanlı bir çizim katmanına geç, veriyi sunucuda ön-toplulaştır (binning) ya da örnekle. Statik rapor çıktısı için önceden üretilmiş PNG çoğu zaman en ucuz çözüm; interaktiflik gerekmiyorsa istemcide grafik kütüphanesi çalıştırmanın bedelini ödemene gerek yok.
Yayından önce üç kontrol
- Eksen aralığı daraltıldıysa bu grafikte görünüyor mu, yoksa fark sessizce mi büyütülmüş?
- Grafiği siyah-beyaza çevirince kategoriler hâlâ ayırt ediliyor mu? Sadece renkle ayrılan seriler, kırmızı-yeşil ayrımını göremeyen okuyucuda çöker.
- Başlık grafiğin konusunu değil, bulgusunu söylüyor mu? "Aylık Satışlar" yerine "Satışlar mart sonrası düzleşti" okuyucunun işini bitirir.
Kaynak