Tableau Ders 38: Radial Bar Chart 2

Farklı grafik örneklerinin 2.sini yapalım dedim ve daha önce blogta anlattığım radyal bar grafiğin farklı bir versiyonunu paylaşmak istedim. Öncelikle bunun için Tableau’nun örnek verisi olan Sample Coffee Chain data setini kullandım. Üzerinde çalışmak isterseniz buradan indirebilirsiniz.

Screenshot_1.png

Yukarıdaki şekilde Product Type’tan elde ettiğim karlılığı yüzde olarak gösterdim. Sonra yeni bir excel açarak bunları excel’e attım -> GaugeData2

Bu şekilde istediğiniz veriyi Radial Bar Chart (ya da Pie Gauge) olarak gösterebilirsiniz. Gerekli olan şeyler 1 adet isimlerin olduğu boyut ve onların yüzdeleri; bir de bu yüzdelerin en düşüğüne 1 vererek sıraladığımız bir sıra kolonu.

1- Tableau ile veriye bağlandıktan sonra kendisiyle Union yapıyoruz. Yani aynı datayı kendisi altına tekrar ekliyoruz. Bunun için Sheet1’i ekrana aldıktan sonra tekrar Sheet1’i sürükleyip Sheet1’in altında “Drag table to union” yazan yere bırakıyoruz.

2- Oluşan Table Name kolonunu şurada kullanacağız: IIF([Table Name]=”Sheet1″,1,271) hesaplamasını yazıyoruz. (Hesaplamanın adına Path diyelim.) => Dairenin 270 derecelik kısmını kullanıyoruz. Tam çizmesi içinde 271 yazıyoruz.

3-  Path’e sağ tık Create bins diyoruz ve aralığına 1 veriyoruz. Böylece 1’den 271’e kadar birer birer giden bir Dimension (boyut) yaratmış oluyoruz.

4- Index hesaplamasını yazıyoruz: (Index()-1)*2

5- Percentage hesaplaması: [Profit (%)]/28.7
Yine aynı şekilde kar yüzdesini en büyük yüzdeye bölüyoruz çünkü şekli en büyük yüzdeye yani en dış kabuğa göre oluşturuyoruz. Bu yüzden her şeyin maksimumunu kullanacağız.

6- w_percentage hesaplaması: WINDOW_MAX(MAX([Percentage]))

7- w_pi hesaplaması: WINDOW_MAX(PI())
Daire üzerinden bu grafiği çizdirdiğimiz için pi’yi de window_max fonksiyonu ile kullanmamız gerekiyor.

8- w_start ile en yüksek sırayı alıyoruz: WINDOW_MAX(MAX([Order]))

9- X ekseni için hesaplama: IF [Index] < 270 THEN IF [Index] < 270 THEN SIN([Index][w_percentage][w_pi]/180)[w_start]ELSEIF [Index] > 270 THEN SIN((540-[Index])[w_percentage][w_pi]/180)([w_start]+0.5)ELSE SIN(([Index][w_percentage])[w_pi]/180)*([w_start]+0.5) END
270’ten küçükse en içteki radyal bar; 270’ten büyükse en dıştaki radyal bar için sinüs fonksiyonunu yazıyoruz.

10- Y ekseni için hesaplama: IF [Index] < 270 THEN IF [Index] < 270 THEN COS([Index][w_percentage][w_pi]/180)[w_start]ELSEIF [Index] > 270 THEN COS((540-[Index])[w_percentage][w_pi]/180)([w_start]+0.5)ELSE COS(([Index][w_percentage])[w_pi]/180)*([w_start]+0.5) END
Y ekseni için yalnızca sinus’leri, kosinüs’e çeviriyoruz.

11- Y2 için hesaplama: [w_start]+0.25
Bunu da gerçek başlangıcımız olmayan ama grafikte başlangıç olarak gördüğünüz kısmın başına şekil eklemek için yazıyoruz.

12- İşlemler tamamsa sürükle bıraklara başlıyoruz. Columns’a x’i; Rows’a y’yi atıyoruz.

13- Marks’tan Polygon grafik tipini, grafiğin içinin dolu gelmesi için seçiyoruz. Product’ı Color’a; Path (bin)’i Detail’e; Index’i de Path’e atıyoruz.

14- Ekrana aldığımız X ve Y eksenlerine sağ tık Compute Using diyerek => Path (bin)’i seçiyoruz.

15- Gördüğünüz gibi Tableau grafiği çizdi. Şimdi biraz süsleyelim. Y2’yi, Rows’a Y’nin yanına alıyoruz ve Y2’ye sağ yık Dual Axis yapıyoruz. Böylece Y ile Y2 eksenleri üst üste koyuyoruz. Şimdi grafiğin yanındaki Y2’ye sağ tıklayarak Synchronize Axis‘i seçiyoruz. Eksenleri birleştirerek senkronize ettikten sonra evet ekrana hiçbir şey gelmeyecek!

16- Panik yok => Marks All Color’daki Measure Names‘i sürükleyerek dışarı çıkarıyoruz.

17- Marks’taki Y2’nin grafik tipini Shape seçiyoruz. Yazmasını istediğimiz şeyleri ekranda görmek içinde Product ve Profit’i Y2 için Label‘a atıyoruz. Yazı formatları için Label’a tıklıyoruz ve aşağıdaki şekilde yazının yerini ayarlıyoruz. (Text‘in içerisine girerek yazınızı düzenleyebilir; Font ile yazı tipi ve rengini ayarlayabilirsiniz.)

Screenshot_2.png

18- Shape’e tıklayarak ucuna ters içi dolu üçgeni seçerek ekliyoruz ve boyutunu ayarlıyoruz. Siz istediğiniz bir şekil seçebilirsiniz.

Ta Taa

Coffee Type by Profit.png

Reklamlar

Tableau Ders 33: Radial Bar Chart

200

Gelin adım adım bu ilham verici grafik Tableau’da nasıl yapılıyormuş bakalım.

DATA

Gayet basit bir veri kullanacağız isterseniz kendiniz de excel’de basit bir veri oluşturup kullanabilirsiniz. Datayı indirmek için üzerine tıklayın:

Gauge_Data

(Chartın diğer bir ismi pie gauge chart)

Tableau ile veriye bağlandıktan sonra veriyi kendisiyle birleştirmemiz (Union yapmamız) gerekiyor. Bunun için aşağıdaki resimde gördüğünüz gibi Sheet1’i “Drag table to union” yazan yere sürükleyip bırakıyorum:

201

Calculated Fields

Dairesel bir bar chart oluşturmak için bir takım hesaplamalar yazmamız gerekiyor. Orjinal grafiklerde kullanmak istediğiniz hesaplamaları internette rahatlıkla bulabilirsiniz. Bu hesaplamaları kullanarak harika grafikler yaratabilirsiniz. Vakit buldukça yaptığım şeyleri buradan da paylaşacağım:)

Öncelikle union yaptığımız datayı isimlendirerek ayırmamız gerekiyor bunun için aşağıdaki hesaplamayı yazıyorum.

202

Union yaptıktan sonra bir table name kolunu oluşuyor. Table Name; Sheet1 ve Sheet11 (unionla gelen veri). Bende bunları ayırmak için Path adında oluşturduğum bir hesaplama yazarak şunu diyorum: Eğer Sheet1 ise 1, değilse yani Sheet11 ise 271 döndür. Burada 271 kullanmamızın sebebi, radyal yani dairesel bir şekil yapmamız. Gördüğünüz şekilde programlama dillerinin yazdığı yerde grafiğin başlaması için 270 dereceyi kullanmalıyım. 270 dersem başlangıç noktasında görsel olarak ufak bir eksiklik oluştuğu için 271 dereceyi baz alıyorum.

Bunu yaptıktan sonra oluşan Path’e sağ tıklayarak Create Bins diyorum ve aralığına 1 veriyorum. Bunu yaparak 1’den 271’e kadar birer birer artan bir boyut oluşturuyorum.

Bundan sonrasında saf matematik formülleri yazacağız. Başlayalım:

Index: index() fonksiyonu 1,2,3… şeklinde bir sıralama fonksiyonudur. Bu grafiği elde etmek için fonksiyonu aşağıdaki şekilde kullanıyoruz:

203

Percentange: Toplam yüzdeyi, en yüksek yüzdeye bölerek dış kabuğa göre şeklin oluşmasında ilk adımı atıyoruz.

204

w_percentage: Şimdi yukarıda yazdığım hesaplamayı window_max() fonksiyonunun içerisinde kullanarak max değeri alıyoruz.

205

w_pi: Pi değerini döndürür.

206

w_start:  Max sırayı alıyoruz:

207

*Order (sıra) aşağıdaki şekilde oluşturuluyor:

198

Order dediğimiz 1’den 6’ya kadar verilmiş sıralama. Yüzdesi en düşük olana 1, en yüksek olana en yüksek sıra sayısını vererek sıralıyoruz.

X: X eksenini oluşturuyoruz:

Index, 270 ten küçükse şeklin en içteki radyal barını, büyükse en dıştaki radyal barını çizdiriyorum.

208

Y: Y eksenini oluşturalım:

Yukarıdakinin aynısını sadece sinusleri kosinüs ile değiştirerek y ekseni için yazıyorum.

209.png

Y2: Bunu yazmak zorunda değilsiniz. Başlangıcın, düz olması yerine daireler ekleyerek yumuşatmak için yazıyoruz. Denerken zaten ne demek istediğimi anlayacaksınız. Bunun için başlangıç noktasına 0,5 ekliyoruz:

210

Huh biraz nefes alalım… Merak etmeyin hesaplamalar bu kadardı. Geriye sadece sürükle bıraklar kaldı.

Worksheet

Hadi oluşturmaya başlayalım!

  • Path (bin), Marks’taki Detail bölmesine sürükleyip bırakın.
  • Grafik olarak Polygon’ı seçin. (Automatic yazan kısmı polygon yapın).
  • Index’i, Path bölmesine atın.
  • Description’ı, Color yazan yere sürükleyin.
  • X’i Columns, Y’yi Rows’a bırakın.
  • Columns’taki X’in üzerine gelerek Compute Using -> Path (bin)’i seçin böylece X ekseni 1’den 271’e kadar olan yarattığımız boyuta göre hesaplanacaktır. Aynı şeyi Rows’taki Y içinde yapın.

Vouv! Karşınıza bir anda çıkıverdi değil mi? Mükemmel∴

212.png

Hadi devam edelim ve biraz daha güzelleştirelim:

  • Rows’taki Y’nin yanına Y2’yi atın. Y2’ye sağ tık Dual Axis yapın böylece Daire ve Polygon’u birleştireceğiz. Marks’ya Y2 eksenini bulun ve grafik tipi olarak Circle’ı seçin.
  • Description ve Response’u, Y2 için Label’ın içine sürükleyip bırakın. Böylece diller ve yüzdelerini yazdırmış olacağız. Yazılarla ilgili bütün ayarları Label’dan yapabilirsiniz. Ortalamak için vb. Alignment yazan kısımdan Horizontal ve Vertical bölümlerini kullanabilirsiniz.
  • Label -> Font -> Match Mark Color diyerek grafiğin renklerini aynen yazı ile eşleştirelim.
  • Workheet’in arka planını siyah yapmak için grafiğin üzerinde boşluğa sağ tıklayarak Format diyoruz. Formatlama konusu için buraya tıklayabilirsiniz.

İşte hepsi bu kadar! Gerisi tamamen sizin estetik algınız. istediğiniz gibi renklendirebilir fontlarıyla oynayabilir hatta üzerinden daha farklı şekiller bile yaratabilirsiniz!

Çalışmalarımı görmek isterseniz buraya tıklayarak takip edebilirsiniz.

Kolay Gelsin!
                                                                              ∞