Geçtiğimiz günlerde Linkedin üzerinden bir post paylaşarak şu soruyu gündeme getirmek istedim: Sütun grafik ile alan grafik arasında bir fark var mı? Varsa nedeni nedir? Hangi vakada hangisi kullanılmalı?
Kullandığım örnekler de aylık ciro ve aylık kasadaki nakdimizin gösterimiydi. Bu örneklerde sütun veya alan kullanma kararı verirken neye dikkat etmeliyiz? Bu sorunun cevabını verebilmek için bu iki grafiğin arasında nasıl bir fark olduğuna bakmak gerekir.
Görsel algımızı anlatmaya yarayan psikolojideki Gestalt prensiplerinden birisi Bağlantı prensibidir. Bu prensip bize şunu söyler: Birbiriyle bağlantılı şekillerin ortak bir anlamları olduğunu, bağlantısı bulunmayanların ise birbirinden bağımsız anlamları olduğunu düşünürüz.
Sütun grafikle alan grafik arasındaki temel farklılık, bu iki grafikteki değerlerin birbirlerinden bağımsız veya birbirleriyle bağlantılı ilerlemesidir. Örneklerimizdeki vakaları da bu fark üzerinden değerlendirmek gerekir.
Ciro grafiğinde aylık değerlerimiz birbirinden bağımsızdır. Yani Ocak ayındaki 111binlik ciro ile Şubat ayındaki 58binlik ciro, birbirinden ayrı satışların değerleridir, birbirleriyle ilişkileri yoktur. Bu yüzden ciro grafiği için, değerleri birbirlerinden ayrı görselleştiren sütunların kullanılması daha uygundur.
Kasadaki nakitte ise durum farklıdır. Şubat ayındaki 490 binlik nakdin yüksek ihtimalle büyük bir kısmı Ocak ayındaki 524binlik nakdin içindedir. Yani birbirlerinden tamamen bağımsız değerler değiller, birinin bir miktar değişimiyle oluşan diğer bir değer şeklindeler. Bu yüzden kasadaki nakit grafiğinin birbirlerinden bağımsız görselleştirilen sütunlarla değil, birbirleriyle ilişkili ilerleyen alanla oluşturulması daha uygundur.
Tabii ki bu durum katı bir kurala bağlı değildir. Genel bir görsel algılama doğrusu olmakla birlikte, grafiği okuyacak kişilerin alışkanlıklarına ve verilerin büyüklüğüne göre grafik seçimimiz değişebilir.
Ben Sema Doğan, Türk-Alman Üniversitesi Endüstri mühendisliği son sınıf öğrencisiyim, geliştirirken gelişmeyi amaç edinmiş, enerjimi üreterek harcayan ve bu sayede iç huzurumu yakalamaya çalışan biriyim. Gelişim yolculuğumda sevgili Deniz Abi ile Veri Görselleştirme eğitimi sayesinde tanışmış oldum ve yaklaşık 20 gün önce 12 saatlik Veri Görselleştirme eğitimini tamamladım. Bunun üzerine ilgimi de çektiği için öğrendiklerimi pekiştirmek amacıyla ilk grafiğimi Linkedin’de paylaşmıştım. (https://www.linkedin.com/posts/semaadogaan_verigaemrselleagntirme-bidaesnyaiaexerik-activity-6712001950117838848-2TUS Buradan ilk haline ulaşabilirsiniz.) Grafiği hazırladıktan sonra Deniz Abiye geri bildirim almak için sordum ve onun da gelişim bildirimleriyle grafiğimin son halini hazırlamış bulunuyorum. Bu yazıda da veriyi nasıl görselleştirdiğimi anlatmaya çalışacağım.
Benim kullandığım kaynak Türkiye Yayıncılar Birliği’nin yayınladığı “Verilen Bandrollerin Kategoriler Bazında Karşılaştırılması” (https://lnkd.in/dK4k-F8) ile alakalıydı. Ben de buradan seçtiğim veriyle bir grafik oluşturdum.
Öncelikle veriye baktığımızda görselleştirmek istediğimiz mesajı belirlemeliyiz. Benim yapmak istediğim 2019 ve 2020 yıllarındaki kategorilere ait bandrol verilen kitap adetlerini karşılaştırmak. Kategori bazında bir karşılaştırma yapacağım için Kümelenmiş Sütun Grafiği kullanmam, vermek istediğim mesaj için daha uygun.
Tabloyu şekildeki gibi seçtikten sonra Insert sekmesinden grafikler bölümünden kümelenmiş sütun yani Clustered Column seçiyoruz. Zaten Excel standart grafiğini oluşturuyor.
Herhangi bir sütuna sağ tıklayıp Format Data Series dediğimizde sağ tarafta sütün kalınlığını ve birbirlerine olan çakışıklıklarını ayarlayabileceğimiz panel açılıyor. Buradan Gap Width yani sütun kalınlıklarını belirleyeceğimiz bölümü %50 olarak değiştiriyoruz. Böylece sütunlarımız daha kalın ve göze hitap eder bir hale geliyor. Ardından Series Overlap dediğimiz sütunların birbiriyle olan çakışmasını ayarlıyoruz. Küme görüntüsü vermek istediğim için sütunları sınırda tutarak bunu da %0 olarak değiştiriyorum.
Vermek istediğimiz mesaja uygun bir başlık belirledikten sonra başlığı sola yaslıyoruz ve eğer belirtmek istediğimiz bir ek bilgi varsa bunu da hemen başlığın altına okunabilecek boyutta ve gri tonlarında seçebiliriz. Diğer yandan veri etiketlerini göstermek için Add Data Labels diyerek veri etiketlerinin görünür olmasını sağlayabiliriz.
Eklediğimiz veri etiketlerinin okunması hayli karışık. Grafiği okuyucu gördüğünde yaklaşık 10 saniyede vermek istediğimiz mesajı karşı tarafa iletmeliyiz. Bu yüzden veri etiketlerini daha sade hale getirerek karmaşıklığı ortadan kaldırabiliriz. Sütunlardan birine sağ tıklayıp Format Data Labels dediğimizde yan tarafta açılan panel üzerinde Number kısmında düzenleme yapabiliriz.
Number bölümünde sayıyı biçimlendirebiliriz. Daha sade ve anlaşılır olması açısından ben bu şekilde kullandım. Diğer sütuna da aynı şekilde veri etiketi ekleyip düzenleme yapabiliriz.
Veri etiketlerini sütunlar üzerinde kullandığımız için sol taraftaki eksenler ve gridline dediğimiz ızgaraları kaldırarak sadeliği yakalayabiliriz.
Grafiğimizin son kısmında ise istediğimiz renkleri kullanabiliriz. Legend yani veriyi belirten başlıkları kullanmamak için başlıkta yazan yıllarda kullanılan renk ile sütunlar da kullanılan rengi eşleştirerek legend kullanmamış olduk. Böylece vermek istediğim mesaj tam anlamıyla en sade şekilde grafik üzerinde bulunuyor.
Benim Veri Görselleştirme yolculuğum böyle başladı ve keyifli bir şekilde de devam ediyor. Faydalı olması dileğiyle..
Admin notu 🙂
Uzun süredir aklımda olan bir şeydi, başka arkadaşlarımın da yazılarını sayfamda paylaşmak… Sağolsun Sema sayesinde başlangıcını yapmış oldum. Umarım onun bu güzel paylaşımı başka arkadaşları da heveslendirir…
2 hafta önce salgına dair kendi grafiklerimi oluşturmuş ve paylaşmıştım. Gelen yorumlar üzerine bir grafikte değişiklik yapmak ve 1 de yeni grafik eklemek istedim.
Öncelikle şunu yeniden vurgulayayım, ben burada bir kişiyi kurumu suçlamaya/aklamaya çalışmıyorum. Sadece veri görselleştirme konusunda ilgili ve biraz da bilgili biri olarak, kamuya açıklanan datayı okumaya ve yorumlamaya çalışıyorum.
Günlük yeni vakalarda maalesef ibre yukarıyı göstermeye devam ediyor. Her ne kadar hastanelerden gelen haberler çok daha ciddi olsa bile, burada açıklanan verileri bile bir an önce aşağı yöne çekmek gerekiyor.
Günlük vefat sayımız Haziran ayının başından beri, yani yaklaşık 3 aydır 15-25 bandında açıklanıyor. İncelediğim hiçbir ülkenin benzer bir grafiği yok… Yine de son bir haftadır çok küçük hareket olsa da yukarı doğru bir yönelme burada da var, aman dikkat 🙁
Bana en garip gelen verilerin grafiği İyileşenler… 2 hafta önce paylaştığım gibi, Haziran ayının ve Temmuz ayının başındaki 5’er günlük “ataklar” olağan standart sapmalarla anlatılabilecek gibi durmuyor. Umarım gerçekçi, mantığa uygun bir tıbbi açıklamasını duyar ve paylaşırım sizinle de… Güncel değerlere gelince, son 1 aydır iyileşen sayısı 1.000-1.200 bandına yerleşmiş durumda.
Geçtiğimiz sefer Linkedin’den paylaştığımda en fazla tepki ve yorum alan grafik buydu. Bu grafikte de, yukarıda bahsettiğim iyileşenlerdeki atakların, 20 gün öncesinin yeni vaka değerleriyle uyuşmazlığı görülüyor. Bu grafiğe gelen ve haklı bulduğum yorum, vakalarla sadece iyileşenlerin değil, vefatların da kıyaslanması gerektiğiydi. ben de bu grafiği Sonuçlanan-20 Gün Önceki Vaka olarak yeniden hazırladım:
Tabii en başından beri, vefat sayılarının (çok şükür ki) vaka sayıları içinde çok küçük bir payı olması nedeniyle, çizgide büyük bir hareket yaratmadı.
Gelen bir diğer talep de aktif vakaların takip edilmesiydi. Onun için de, bazı günler artış bazı günler azalış gösterdiğinden, sütun veya çizgi grafik yerine şelale grafiği tercih etmek istedim:
Bana anlamsız gelen 5 günlük atakların aktif vaka sayısına etkisini görebilirsiniz. Sanki bir güç aktif vaka sayısını 30.000’lerden 20.000’lere, sonra da 20.000’lerden 15.000 altına indirmek istemiş gibi…
3 gün önce Twitter’da Ivett Kovacs’ın aşağıdaki tweetini görünce tabii ki heyecanlandım. Aklıma gelen ilk soru “Acaba bu minik hileyi (trick dememeye çalışıyorum) Excel’de uygulayabilir miyim?” oldu…
İlk görev (challenge dememeye çalışıyorum) toplam değer ile ürünlerin değerlerinin yığılmış hallerinin üst üste gelmesini sağlamak.
Aklıma ilk gelen yığılmış ürün satışı sütunlarıyla, toplam sütunlarını iki ayrı eksende üst üste oturtmaktı. Nasılsa toplam değerler her ikisinde de aynı olacak, dolayısıyla eksenlerin maksimum değerlerini eşitlemek gibi bir derdim olmayacaktı.
Bu durumda kaydırıcı (tahmin ettiğiniz gibi burada da slider dememeye çalışıyorum) ilerledikçe, yani elimdeki ana değişken 0 ile 12 arasında bir değer aldıkça toplam değerin üstüne yığılmış ürün toplamlarının gelmesini sağlamam gerekiyor. Bunu da, grafiğin baktığı tabloda, kaydırıcının değerine göre ürünlerin satış değerlerini gösterip göstermeme koşulunda kullanarak yapabilirim.
Tam bu noktada, madem kaydırıcı ürün değerlerinin gösterilip gösterilmemesine yarayacaksa, ikinci ekseni kullanmaya ihtiyacım yok. Ürünlerin yığılmış grafiğine toplam değerini de ekleyebilirim. Dolayısıyla durum şöyle oldu: (Verileri tesadüfi oluşturdum) (parantez içinde yeni parantez açmak istemedim ama siz zaten bu sefer de random dememeye çalıştığımı anladınız)
Elimdeki değerler tablosunun yanında bir sütun boşluk bırakıp, aynı tabloyu bir kez daha yapıştırdım. Bu kez ürünlerin satış değerlerinin yerine şunu yazmam gerekiyor: Eğer kaydırıcının değeri 0’sa yani kaydırıcı en soldaysa o zaman ürünlerin değerlerini gösterme, sadece toplamı göster. Eğer kaydırıcının değeri (A1 hücresinde tutacağım bu değeri), verimin satır numarasına (buradaki örnekte kaçıncı ay olduğu) büyük eşitse de, ürünün satış değerini göster, toplamı gösterme. Örneğin kaydırıcımın değeri 2 ise, Ocak ve Şubat ayları için sadece ürün satışlarını göster, geri kalan aylar için ise sadece toplamı göster. Bu sayede tüm değerler grafiğimizde üst üste yer alsa bile biz her bir ay için sadece ürünleri veya sadece toplamı göreceğiz.
Şimdi sağdaki tablonun 4 sütununu da aynı yığılmış sütun grafikte, tek eksende kullanabilirim.
Şimdi biraz makyaj vakti… Y ekseninde bu kadar fazla bölünmeye ihtiyacımız yok, bölüm birimini 200’den 500’e çektim. Ürünlerin renkleri böyle kalsın, toplamın farklı bir ürün olduğunu düşündürmemek için onun rengini griye çevirdim. Sütunlar arası boşluğu optimum değer olan sütun kalınlığının yarısına kadar düşürdüm. X ekseninde tekrarlayan yıl bilgisini ortaklaştırdım. Grafiğin başlığını sol üste alıp değiştirdim. Grafiğin altındaki açıklama bölümünü, X ekseninin değerleriyle karışmaması için grafiğin sağ üstüne aldım. Ve son olarak grafiğin genel çerçevesini kaldırdım.
Şimdi sıra kaydırıcıyı yerleştirmekte. Eğer yukarıdaki menü sekmelerinizde Developer menüsü yoksa önce onu aktifleştirmeniz gerekiyor. File/Options/Customize Ribbon menüsünden giderek, ekranın sağdaki bölümünden Developer menüsünün işaretini açabilirsiniz. Şimdi Developer menüsünden, Insert/Form Controls/Scroll Bar seçerek kaydırıcımızı ekliyoruz. Kaydırıcıya sağ tıklayıp Format Control diyerek ayarlarına gireceğiz.
Kaydırıcımızın ilk değeri 2 olsun. Minimum değerimiz 0, maksimum değerimiz 12 olacak. (Eğer farklı bir tablonuz varsa max değerini kendinize göre belirlemeniz gerekecek) Kaydırıcının yanlarındaki küçük oklara tıklandıkça gerçekleşecek değişim 1’er birim olsun. Kaydırıcının içinde bir noktaya tıklasak da 1 birim gitsin. Son olarak kaydırıcımızın değerini A1 hücresine yazdırmak istediğimi söyledim.
Ürün satışlarına veri etiketi ekleyip, yazı tipimi ve grafiğin boyutunu da değiştirerek grafiğimi tamamladım:
Etkiyi daha net göstermek için bir de GIF olarak ekliyorum:
Geçtiğimiz günlerde Statista bir grafik yayınladı. Görselde, 2030 yılında gelişmiş ülkelerde beklenen ortalama yaşam süreleri karşılaştırılmıştı ve Amerika’nın diğer ülkelerle kıyası yapılmıştı. Grafiği görünce Türkiye’nin bu grafikte yer alsa ne konumda olacağını merak edip araştırmaya başladım ve Tilasto’nun web sayfasında Türkiye’de 2030 yılında beklenen ömür sürelerine ulaştım. Şimdi sıra grafiği Türkiye’yi içerecek şekilde yeniden hazırlamaya geldi…
Ancak Statista’daki grafikte kullanılan kümelenmiş çubuk grafik kullanımı verilerin karşılaştırılması için yeterince sade gelmedi bana. Ülkelerin her birinde kadın-erkek kıyası yapılabiliyor ama kadınların ve erkeklerin ülkeler arasındaki kıyası bu grafikte kolayca yapılmıyor. Bu yüzden karşılaştırma yapmamı sağlayacak başka bir grafik seçmek istedim ve biraz bakındıktan sonra dumbbell chart (bağlantılı noktasal grafik) kullanmaya karar verdim. Excel’deki grafikler içerisinde yer almayan bu grafiği, dağılım grafiğini (scatter plot) düzenleyerek oluşturmak mümkün. Şimdi adım adım grafiği beraber oluşturalım:
Öncelikle veri setimiz bu şekilde:
Bu tabloyu seçip de scatterplot oluşturmak istediğimde excel’in bana verdiği grafik ise aşağıdaki gibi oluyor:
Excel satırlarda yer alan kategori başlıklarını yani ülke isimlerini grafiğe veri olarak almadı, X eksenine ülkeler için otomatik 1’den 11’e numaralandırma yaptı ve yaş bilgilerini Y eksenine yerleştirdi. Eğer ülke bazlı bir karşılaştırma değil de, bir ülkenin farklı yıllardaki ortalama kadın/erkek yaşam sürelerini kıyaslamak isteseydim bu şekilde bir yerleşim uygun olabilirdi ve makyajın ardından finalde de şuna benzer bir grafik elde ederdim:
Ancak bu kez yapmak istediğim kıyas ülke kıyası ve ülke isimlerini x eksenine yerleştirmektense, y eksenine yerleştirip daha kolay okunmalarını sağlamayı tercih ediyorum. Bunu yapabilmek için grafikte kullanılacak veri setini benim tanımlamam daha doğru olacak. Bu yüzden şimdi scatterplotu, tabloyu seçmeden, hatta içinde veri olan bir hücre seçili değilken ekliyorum ve boş bir grafik ekranı elde ediyorum. Bir sonraki adımda yapmam gereken, grafiğe sağ tıklayıp Select Data (Veri Seç) diyerek grafikte kullanılacak serileri (Kadın/Erkek) tanımlamak:
Ekranın solundaki Legend Entries kısmında Add diyerek ilk serimi tanımlıyorum.
Serinin adını tanımlamak için istersem tablodan başlığın yer aldığı hücreyi seçebilir, istersem de burada doğrudan metin olarak girişini yapabilirim. Erkekler için X ekseninde yer almasını istediğim değerler ortalama ömür verisi, Y ekseni için ise ülke adı yerine tabloma eklediğim ülke numaraları alanını seçiyorum. Y ekseninde değerler aşağıdan yukarıya doğru arttığından, grafikte en üstte yer almasını istediğim Güney Kore’ye en büyük, en altta yer alacak Türkiye’ye de en küçük değeri verdim:
Aynı şekilde bir kez daha Add komutuna tıklayıp, aynı tanımlamaları bu kez de kadınlar için yaptıktan sonra Excel’in oluşturduğu grafik şu şekilde:
Burada erkeklerin ortalama ömürlerini mavi noktaların X eksenindeki izdüşümünden, kadınların ömürlerini ise turuncu noktaların izdüşümünden göstermiş oluyorum.
Tabii bir sonraki amacım Y eksenine ülkelerin isimlerini yazdırmak. Bunu bu grafiğe yeni bir seri ekleyip, eklediğim serinin grafik tipini çubuk grafik olarak değiştirerek sağlayabilirim. Ancak o durumda çubuklarla noktaların konumlarını üst üste çakıştırmak için ince ayarlar yapmak gerekiyor. O yüzden ben daha kolay bir yol için, biraz Excel’i kandırmayı tercih ediyorum 🙂 Y ekseninin başlıklarını yazdırabilmek için, erkek ve kadın serilerinden daha solda, sabit bir değere sahip bir seri daha ekliyorum:
Grafiğime yine Select Data menüsünden, Erkek ve Kadın serilerini eklediğim şekilde, X ekseni değerleri E sütunundaki 75’ler, Y ekseni değeri olarak da yine A sütunundaki numaralar olacak şekilde Y başlık serisini ekliyorum. Grafiğimin geldiği nokta bu:
Excel yeni veriler gelince X eksenimi 0’dan başlatmaya karar verdi. Benim ise buna ihtiyacım yok, aksine yeni eklediğim gri noktaların grafiğimin en solunda başlık bölümünü oluşturmasını istiyorum. O yüzden X eksenindeki değerlere sağ tıklayıp Format Axis diyorum ve açılan menüden eksinin minimum değerini 75 olarak değiştiriyorum:
Sırada her bir noktanın yanına ilgili ortalama ömür değerini yazdıracağım veri etiketlerini (data label) eklemek var. Önce kadınlara ait olan turuncu noktalara sağ tıklayıp Add Data Labels diyorum. Excel default olarak noktaların Y değerlerini veri etiketi olarak ekliyor:
Tabii bu grafik için benim ihtiyacım olan noktaların Y değerleri değil, X değerleri. Bu yüzden bu kez eklediğim veri etiketlerine sağ tıklayıp Format Data Labels diyorum ve gelen pencerede X values seçeneğini işaretleyip, Y values işaretini kaldırıyorum:
Aynı işlemleri bu kez erkeklere ait olan mavi noktalarım için yapıyorum, tek bir farkla. Veri etiketlerinin konumunu noktanın solunda olarak değiştirmem gerek:
Gelelim gri noktaları başlıklara çevirmeye… Veri etiketi ekleme işini bu kez de gri noktalar için yapıyorum:
Bu sefer ihtiyacım olan ne X, ne de Y değeri… Bu yüzden Label Contains alanından Values from Cells diyerek benim seçeceğim hücrelerdeki veriyi, veri etiketi olarak göstermesini istiyorum ve gidip B sütunundaki ülke isimlerini (başlığı almadan) seçiyorum. Daha sonra X values işaretini kaldırıyorum ve veri etiketinin konumunu noktanın solu olarak değiştiriyorum:
Ben her ne kadar noktanın solunda görmek istediğimi söylesem de, grafiğimde noktaların yer aldığı çizim alanının (plot area) yani gri karelere bölünmüş alanın dışında başlıkların sığacağı kadar yer yok. O yüzden ülke isimleri halen noktanın üzerinde kalıyor. Bunu düzeltmek için çizim alanının içinde bir boşluğa sol tıklayıp çizim alanını seçiyorum ve sol kenarının ortasından tutup içeri doğru küçülterek, grafiğimin solunda başlıkların sığacağı bir alan açıyorum:
Y ekseni değerlerinin kolayca okunmasını sağlayan çizgiler (gridlines) an itibariyle 2’şer 2’şer ilerliyor. Bunu Y ekseni değerlerinden birisine (0 veya 12’ye tıklamak kolay) sağ tıklayıp Format Axis diyerek açtığım pencerede Major Unit değerini 1 olarak değiştirerek her ülkenin değerlerinin birer çizgi üzerinde yer almasını sağlıyorum:
Fakat bu şekilde gelen görüntüde aslında bu çizgiler değerlerin okunmasını zorlaştırıyor. O yüzden noktaları çizgilerin üzerine değil de, arasına yerleştirmek daha uygun olacak. Bunun için de yine Y eksenimde Format ayarlarıma giriyorum ve 0 olan minimum değerini 0,5’e, 12 olan maksimum değerini de 11,5’e değiştiriyorum:
Artık Y ekseninde yer alan sayısal değerlerle de işim kalmadığından, oradaki değerlerden birine sol tıklayıp tamamını seçerek Delete tuşuna basıyorum:
X ekseninden gelen gridline’ları da azaltarak sadelik sağlamak amacıyla, X eksenindeki değerlerden birisine sağ tıklayıp Format Axis diyorum. Minimum değer 75 kalacak şekilde, bu kez unit değerini 5 olarak değiştiriyorum. Bu şekilde 2’şer 2’şer değil de daha az çizgi çekilmiş olacak:
Sıra geldi dumbbell’larımızın tutacak kısımlarını oluşturmaya, yani kadın ve erkeklerin arasındaki farkı görselleştirecek çizgileri çekmeye. Bunun farklı yolları olsa da, bana en kolay gelen çözüm Error Bars, yani hata çubukları. Normalde bu çubuklar, dağılımdaki bir noktanın tam yerini belirleyemediğimiz durumlarda “bu nokta buralarda da olabilir” anlamında kullanılır; ancak ben bu kez farklı bir fayda sağlayacağım. Kadınların turuncu noktalarından birine sol tıkladıktan sonra, grafiğimin sol üst dışında yer alan küçük artı ikonundan (bu ikonu göremezseniz yukarıdaki menüde Chart Tools/Design menüsünde en solda yer alan Add Chart Element butonuna da tıklayabilirsiniz) Error Barsı ekliyorum:
Hem dikey hem de yatay, ikişer yönlü hata çubuklarım geldi. Benim ihtiyacım olansa sadece negatif yöne yani sola doğru gidecek olan yatay hata çubuğu. İlk önce yukarı aşağı yönlü hata çubuklarından birisine tıklayıp Delete diyerek dikey yönlü hata çubuklarını siliyorum:
Şimdi Excel’e istediğim çubuğun uzunluğunu tanımlama zamanı. Peki çubuğumun boyu ne kadar olmalı? Çubuğumun boyunu Excel’in çekebilmesi için bir sütun daha ekliyorum ve formülünü de Kadınların ömrü-Erkeklerin ömrü olarak yazyorum:
Yatay hata çubuğuna sağ tıkladığımda açılan pencereden, yönü sadece Minus yani eksi olarak değiştiriyorum. Error Amount olarak da Custom seçip, Değerleri tanımla butonuna tıklayarak son eklediğim Fark sütununun verilerini gösteriyorum:
Ve işte artık dumbbell grafiğim hazır… Buradan sonrası tamamen makyaj işlemleri. Başlıkların gri noktalarını ülkelerin bayraklarıyla değiştirdim, fontları değiştirdim, renkleri değiştirdim, kadın ve erkeklerin noktalarının ikonlarını değiştirdim, veri etiketlerinin renklerini değiştirdim, başlığıma grafikten çıkarılmasını istediğim mesajımı yazdım ve veri kaynaklarımı ekledim…
Ö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 🙂
Zamansal gelişimi göstermenin yollarından ikisi çizgi ve alan grafikler. Eğer tek bir değerin zamansal değişimini göstermek istiyorsak, çizgi grafik yeterli etkiye sahip olmuyor. Alan grafikler ise dolgu olacak alanın boyutuna göre çok fazla renk patlamasına neden olabiliyor. Örneğin 1960 yılından itibaren ülke nüfusunun gelişiminin grafiğini oluşturalım:
Çizgi grafik kullandığımda çok fazla boşluk alan yer aldığından, yeterince etkili olmuyor.
Alan grafik kullanıldığında ise grafiğin yarı alanı boyanacağından bu grafik de göz yorucu olabiliyor. Bunu aşmanın yollarından birisi, grafiği bölümlere ayırmak. Böylece grafiği parça parça daha kolay sindirebiliriz:
Bunu sağlamak için verileri farklı sütunlara alıyorum ve Excel de her bir sütunu ayrı renkte bana göstermeye başlıyor. Fakat bu durumda da, Excel her bir parçanın ilk değerinden önce 0 değeri var şeklinde kabul ettiğinden, alanı da 0 noktasından başlatıyor. Bunu engellemek için Excel’in Veri Seç menüsünün içinde Gizli ve Boş hücrelerin gösterimi bölümünden, boş hücreleri boşluk olarak göstermesini istiyoruz.
Oluşan parçaların hangi yıllara dair veri içerdiğini zaten eksen başlıklarından anlayabileceğiz. Dolayısıyla altta yer alan açıklama (gösterge/lejan) bölümüne ihtiyacımız bulunmuyor. En sade grafiği oluşturmak adına, o bölümü de silebiliriz.
Eksende yer alan bilgilerin gösterimini de sadeleştirebiliriz. Hepsi milyon bilgisi olduğundan eksen bilgilerini düzenleyip birimi milyona çevirdim.
Renklendirmeyi Excel kendisi otomatik belirlemişti ancak her bir parçayı ayrı ayrı renklendirmeye de ihtiyacım bulunmuyor. Grafiği kullanırken vereceğim mesajı destekleyecek şekilde renklendirme yapabilirim:
Zaman ekseninde de her yılın yazılması gerekmiyor. Orada da 5 senede bir metin yazacak şekilde tablomdaki verileri sadeleştirebilirim. Bu da okumayı kolaylaştıracaktır:
Bu şekilde grafiğim kullanıma hazır; ama ben grafiği salt alanla göstermek yerine, bir de çizgi grafikten destek alarak etkiyi artırmak istiyorum. Bunu yapmak için denediğim ilk yöntem alan grafiğe çerçeve (ana hat/kenarlık) eklemek; fakat çerçeve eklediğimde bu çizgiler -benim istediğim şekilde- alanın sadece üstünde değil, her yanında görüntüleniyor:
Bu şekilde çerçeve kullanmak yerine, aynı datadan bir de çizgi grafikler yerleştiriyorum. Aynı datayı yeniden Veri Seç üzerinden eklediğimde yine yeni data renklendirilmiş sütunlar olarak grafikte yer alıyor.
Daha sonra bu yeni eklediğim 6 seriyi sütun grafikten çizgi grafiğe çeviriyorum:
Ardından çizgilerin renklerini de alan rengine uyumlu olacak şekilde düzenliyorum:
Grafikte kullanılan metinlerin fontunu en çok beğendiğim fonta (Titillium) çeviriyorum.
Ve son hamle olarak da, grafiği sunmayıp web sayfamda paylaşacağımdan, grafiğin mesajını başlık olarak yerleştiriyorum.
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.
Twitter’dan takip ettiğim İsmail Şayan, sporun ekonomisi üzerine çok iyi bilgiler paylaşıyor. Geçen hafta 4 büyükler diye tabir ettiğimiz Beşiktaş, Fenerbahçe, Galatasaray ve Trabzonspor’un, kamuya açık olarak paylaştığı bilgilerden yola çıkarak kredi borçlarını karşılaştırdı:
Bu bilgileri bir grafikte görmek isteyince akla tabii ilk olarak sütun grafik geliyor.
Excel’in varsayılan olarak oluşturduğu grafik bu; fakat bu grafikte kulüplerin iki farklı dönemdeki bilgilerini kolayca kıyaslamak mümkün değil. Sürekli gözümüz bir sola bir sağa gitmek sorunda kalıyor. Bu da okumayı zorlaştırıyor.
Hemen satır-sütun değişikliğiyle diğer halini denemek istedim:
Bu grafikte tekil olarak kulüplerden birine baktığımızda, iki dönemin kıyasını yapabiliyoruz. Ancak bu kez de kulüpleri birbiriyle okumak çok kolay olmuyor. Grafik Sürekliliği (Graphic Continuum – https://visual.ly/blog/graphic-continuum/) dokümanından faydalanarak, kategori karşılaştırılmasına farklı bir grafik seçmeyi denedim. İki dönem içinde birden çok parametreyi kıyas için kullanılabilecek grafik olarak hemen Eğim Grafiği (Slope/Bump Chart) gözüme çarptı. Excel’de bu grafik kendi adıyla yer almıyor ancak birkaç farklı grafiği kullanarak bunu oluşturmak mümkün. Birisi çizgi grafik, diğeri ise nokta dağılım grafiği (scatterplot). Çizgi grafiği seçtim ve eğim grafiğini en sade haliyle oluşturmak için düzenlemelerimi yapmaya başladım.
Çizgilerin renklerinin kime ait olduğunu göstermek için gösterge bölümünü kullanmak yerine doğrudan çizgiye yazmayı tercih ediyorum.
Değerleri de okumak bu grafikte değerli, o yüzden y ekseninde yer alması yerine, o bilgiyi de yine çizgi üzerinde göstermeyi seçtim.
Elimizde sadece iki tarihe dair veri var, dolayısıyla diğer ayların grafikte yer almasına da ihtiyacımız yok. Ancak excel x eksinini tarih sıralaması olarak gördüğünden otomatik olarak onları getiriyor. Dolayısıyla onları uçurmak için ekseni tarih değil, metin ekseni olarak ayarladım ve grafiğin çizim alanını daraltarak çizgileri biraz daha kısalttım.
Renkler Excel tarafından atanan otomatik renkler; ancak bu grafik için herhangi bir anlamları bulunmuyor. Rengi yine bir amaç için kullanmayı seçiyorum:
Eğim grafiğinin bir tasarım özelliği olarak, çizgilerin iki ucuna birer nokta ekledim.
Grafiğin mesajını başlığa aldım, değerlerin neyi ifade ettiğine dair bilgiyi ekledim, fontları kendi favori fontuma getirdim, gereksiz olan grafik çerçevesini kaldırdım ve sonuç görsel: