Seaborn - Figür Estetiği

Verileri görselleştirmek bir adımdır ve görselleştirilmiş verileri daha hoş hale getirmek başka bir adımdır. Görselleştirme, nicel içgörüleri bir izleyiciye dikkatlerini çekmek için iletmede hayati bir rol oynar.

Estetik, özellikle sanatta güzelliğin doğası ve takdiriyle ilgili bir dizi ilke anlamına gelir. Görselleştirme, verileri etkili ve mümkün olan en kolay şekilde temsil etme sanatıdır.

Matplotlib kitaplığı kişiselleştirmeyi büyük ölçüde destekler, ancak çekici ve beklenen bir arsa elde etmek için hangi ayarların değiştirileceğini bilmek, onu kullanmak için dikkat edilmesi gereken şeydir. Matplotlib'den farklı olarak Seaborn, Matplotlib figürlerinin görünümünü özelleştirmek ve kontrol etmek için özelleştirilmiş temalar ve üst düzey bir arayüzle birlikte gelir.

Misal

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5): 
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
plt.show()

Matplotlib varsayılanları ile bir arsa böyle görünür -

Aynı planı Seaborn varsayılanlarına değiştirmek için, set() işlev -

Misal

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set()
sinplot()
plt.show()

Çıktı

Yukarıdaki iki şekil, varsayılan Matplotlib ve Seaborn planlarındaki farkı göstermektedir. Verilerin temsili aynıdır, ancak temsil tarzı her ikisinde de değişiklik gösterir.

Temel olarak Seaborn, Matplotlib parametrelerini iki gruba ayırıyor−

  • Arsa stilleri
  • Arsa ölçeği

Seaborn Şekil Stilleri

Stilleri değiştirmek için arayüz set_style(). Bu işlevi kullanarak arsa temasını ayarlayabilirsiniz. En son güncellenen sürüme göre, aşağıda mevcut beş tema bulunmaktadır.

  • Darkgrid
  • Whitegrid
  • Dark
  • White
  • Ticks

Yukarıda bahsedilen listeden bir tema uygulamayı deneyelim. Arsa varsayılan teması olacakdarkgrid önceki örnekte gördüğümüz.

Misal

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("whitegrid")
sinplot()
plt.show()

Çıktı

Yukarıdaki iki grafik arasındaki fark arka plan rengidir

Eksen Dikenlerini Çıkarma

Beyaz ve işaretli temalarda, üst ve sağ eksen dikenlerini kullanarak despine() işlevi.

Misal

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("white")
sinplot()
sb.despine()
plt.show()

Çıktı

Normal grafiklerde sadece sol ve alt eksenleri kullanıyoruz. Kullanmakdespine() Matplotlib'de desteklenmeyen gereksiz sağ ve üst eksen dikenlerinden kaçınabiliriz.

Öğeleri Geçersiz Kılmak

Seaborn stillerini özelleştirmek istiyorsanız, bir parametre sözlüğünü set_style() işlevi. Mevcut parametreler kullanılarak görüntüleniraxes_style() işlevi.

Misal

import seaborn as sb
print sb.axes_style

Çıktı

{'axes.axisbelow'     : False,
'axes.edgecolor'      : 'white',
'axes.facecolor'      : '#EAEAF2',
'axes.grid'           : True,
'axes.labelcolor'     : '.15',
'axes.linewidth'      : 0.0,
'figure.facecolor'    : 'white',
'font.family'         : [u'sans-serif'],
'font.sans-serif'     : [u'Arial', u'Liberation  
                        Sans', u'Bitstream Vera Sans', u'sans-serif'],
'grid.color'          : 'white',
'grid.linestyle'      : u'-',
'image.cmap'          : u'Greys',
'legend.frameon'      : False,
'legend.numpoints'    : 1,
'legend.scatterpoints': 1,
'lines.solid_capstyle': u'round',
'text.color'          : '.15',
'xtick.color'         : '.15',
'xtick.direction'     : u'out',
'xtick.major.size'    : 0.0,
'xtick.minor.size'    : 0.0,
'ytick.color'         : '.15',
'ytick.direction'     : u'out',
'ytick.major.size'    : 0.0,
'ytick.minor.size'    : 0.0}

Herhangi bir parametrenin değerlerini değiştirmek, çizim stilini değiştirecektir.

Misal

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()

Çıktı

Çizim Öğelerini Ölçeklendirme

Ayrıca, arsa öğeleri üzerinde kontrolümüz var ve arsa ölçeğini kullanarak set_context()işlevi. Bağlamlar için göreceli boyuta göre önceden ayarlanmış dört şablonumuz var, bağlamlar aşağıdaki gibi adlandırılıyor

  • Paper
  • Notebook
  • Talk
  • Poster

Varsayılan olarak, bağlam not defterine ayarlanmıştır; ve yukarıdaki arazilerde kullanılmıştır.

Misal

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()

Çıktı

Gerçek grafiğin çıktı boyutu, yukarıdaki grafiklerle karşılaştırıldığında boyut olarak daha büyüktür.

Note - Web sayfamızdaki resimlerin ölçeklendirilmesi nedeniyle, örnek grafiklerimizdeki gerçek farkı gözden kaçırabilirsiniz.