Blog

Haritadaki renkler neye göre seçildi

Zafer Partisi ile Yeni Parti haritada neredeyse aynı kırmızıydı. Düzeltmek için parti logolarının rengini bırakıp algısal renk farkını ölçen bir çözücü yazdık. Sonuç: 23 parti, sıfır çakışma.

3 dk okuma

Bir seçim haritasında rengin tek işi var: hangi partinin önde olduğunu tek bakışta söylemek. Bu iş göründüğünden zor, çünkü Türkiye'de kayıtlı 23 parti var ve çoğunun logosu kırmızı, lacivert ya da mavi.

İlk sürümde her partiye kendi marka rengini verdik. Sonuç şuydu: Zafer Partisi ile Yeni Parti haritada birbirinden ayırt edilemiyordu. Bir kullanıcı bunu bildirdi ve haklıydı.

Marka rengi neden yetmedi

Marka renkleri birbirinden bağımsız seçilir. Bir parti logosunu tasarlarken kimse "öteki 22 partinin renginden yeterince uzak mı" diye bakmaz — bakmasının bir sebebi de yoktur. O renkler yan yana değil, tek başlarına görünmek için seçilmiştir.

Haritada ise hepsi aynı anda, küçük alanlarda, birbirine bitişik duruyor. Tek başına gayet ayırt edilebilir iki kırmızı, iki komşu il olduğunda aynı renge dönüşüyor.

Ölçtük: marka renkleriyle 73 çakışan parti çifti vardı. En yakın iki rengin farkı sıfıra yakındı.

Farkı nasıl ölçtük

Renk farkını RGB'de ölçmek işe yaramıyor. #FF0000 ile #EE0000 arasındaki sayısal fark, #0000FF ile #0011FF arasındakiyle aynı çıkıyor — ama göz ikincisini çok daha az fark ediyor. İnsan gözü renk uzayında eşit davranmıyor.

Bunun için geliştirilmiş ölçüt CIEDE2000. Renkleri Lab uzayına taşıyıp, gözün gerçekte algıladığı farkı veriyor. Kabaca: 1 birim "eğitimli bir gözün zar zor seçtiği fark", 10 birim "herkesin rahatça ayırt ettiği fark".

Hedefimiz her parti çifti için en az 10 oldu.

Çözücü ne yapıyor

Renkleri elle seçmek yerine bir çözücü yazdık. Kuralları şöyle:

Her parti kendi renk ailesinde kalıyor. Kırmızı bir parti kırmızı kalıyor, yeşil yeşil. Ton kaymasına en fazla 46 derece izin var. Bu kısıt olmasaydı çözücü en kolay çözümü bulur, partileri renk çemberine eşit dağıtır ve CHP mor olurdu. Teknik olarak kusursuz, kullanıcı için anlamsız.

Büyük partiler önce seçiyor. Haritada en çok yer kaplayan partinin rengi markasına en yakın olan olsun; küçük partiler daha fazla oynasın.

Yedi parti sabitlendi. Marka rengi zaten yeterince ayrık olanlar hiç kıpırdatılmadı.

Karanlık harita zemininde okunabilirlik şart. Anahtar Parti'nin lacivertini olduğu gibi bıraksaydık koyu zeminde neredeyse görünmez olacaktı — kontrast oranı 1,42 çıkıyordu. Açıp #515C87'ye taşıdık, 2,98'e çıktı.

Sonuç

Çözücünün bulduğu palette en yakın iki rengin farkı 11,3 — hedefin üstünde. Çakışan çift sayısı sıfır.

Birkaç örnek:

Parti Renk
AK Parti #F6B00B
CHP #CD0000
MHP #8E1B22
Yeni Parti #F92C18
Zafer Partisi #974900

Yeni Parti ile Zafer Partisi artık birbirinden uzak: biri parlak kırmızı, öteki toprak tonu.

Gözden kaçan hata

Palet hazır olduktan sonra bir sorun daha çıktı: harita yeni paleti kullanıyordu ama lejant hâlâ marka renklerini gösteriyordu.

Bu, olabilecek en kötü hata türü. Renkleri ayırt edilebilir yapmak için uğraşıp, sonra kullanıcıya yanlış anahtarı vermek — hiç uğraşmamaktan daha kötü, çünkü kullanıcı lejanta bakıp yanlış partiyi okuyor.

Lejant da aynı kaynaktan besleniyor artık. Palet tek bir dosyada (data/map-palette.json) duruyor ve haritayla lejant aynı fonksiyondan okuyor — ayrışmaları mümkün değil.

Beraberlik durumu

Bir de renk seçmenin çözemediği bir durum var: iki parti bir ilde eşit oy aldığında hangi rengi göstereceksiniz?

Birini seçmek yanlış bilgi vermek olur. Bu yüzden beraberlikte il çizgili boyanıyor — iki partinin renginden çalışma anında üretilen bir desenle. Listelerde ve panellerde de "berabere" rozeti çıkıyor.

Az katılımlı bir ankette beraberlik sık görülüyor; onu gizlemek, veriyi olduğundan kesin göstermek olurdu.

Haritanın kendisi Haritalar sayfasında, il il dökümü ise İller sayfasında.

konularharitayöntem

Siz ne düşünüyorsunuz?

Ankete katılmak iki dakika sürüyor; sonuçları oy kullandıktan sonra görebilirsiniz.

Ankete katıl

Diğer yazılar