Ana içeriğe geç

Bokeh ile Veri Görselleştirme Eğitimi: Başlangıç

Bokeh’in önemli temel bilgilerini ve kurulum sürecini öğrenin
· 7 dk. oku

Yapay Zeka ile Keşfedin

Bu eğitimde Bokeh’i (ve bağımlılıklarını) nasıl kuracağınızı ve Bokeh kullanarak görselleştirme için temel yapı taşlarını öğreneceksiniz. Ayrıca temel grafikler oluşturmayı ve bunları özelleştirmeyi de göreceksiniz. Bu, ilerleyen bölümlerde daha gelişmiş özellikleri öğrenmeniz için zemin hazırlayacaktır.

Bokeh nedir?

Bokeh, Python ile dinamik görselleştirmeler oluşturmak için interaktif bir veri görselleştirme paketidir. Bokeh açık kaynaklıdır ve ilgi çekici bir hikâye anlatan grafikler oluşturmak için kullanılabilir.

Bokeh’i diğer araçlardan ayıran nedir?

Görselleştirme dünyasında, pano ve görselleştirme oluşturmak için birçok Python kütüphanesi vardır; bunlar arasında şunlar bulunur:

  • Bokeh
  • Matplotlib
  • Streamlit
  • dash
  • Seaborn
  • Plotly
  • Geoplotlib
  • Gleam
  • ggplot
  • Missingo

Bokeh şu konularda iyidir:

  • Modern tarayıcılar için interaktif görselleştirmeler oluşturma
  • Bağımsız belgeler veya sunucu destekli uygulamalar yapma
  • İfade gücü yüksek ve dinamik grafikler oluşturma
  • Büyük, dinamik veya akış verileri için panolar hazırlama

Bu Bokeh Eğitimi Sizin İçin...

Eğer bir veri bilimci, veri analisti veya makine öğrenimi mühendisiniz. Bu eğitim, temel düzeyde Python bilgisine ve paketleri nasıl kurup içe aktaracağınızı bilmenize ihtiyaç duyar. Bokeh kütüphanesini kullanarak interaktif görselleştirmeler oluşturmayı ve bunları web’e dağıtmayı öğreneceksiniz. Bokeh, interaktif grafikler, panolar ve veri uygulamaları oluşturmanıza yardımcı olabilir.

Bokeh Nasıl Kurulur

Anaconda ile kurulum

Eğer Anaconda sizin Python paket yöneticinizse, Bokeh’i Anaconda Prompt, Windows Komut İstemi veya Bash Terminali’nden aşağıdaki gibi kurabilirsiniz:

conda install bokeh
conda install jinja2
conda install six
conda install requests
conda install tornado
conda install pyYaml

pip ile kurulum

pip Python paket yöneticisini kullanarak da aşağıdaki gibi kurabilirsiniz:

pip install bokeh
pip install jinja2
pip install six
pip install requests
pip install tornado
pip install pyYaml

Jupyter Notebook içinde kurulum

!pip install bokeh
!pip install Jinja2
!pip install Six
!pip install Requests
!pip install Tornado
!pip install PyYaml

Kurulumunuzu doğrulayın

from bokeh.io import output_notebook, show

output_notebook()

Sorun Giderme

Bokeh’i kurarken sorun yaşıyorsanız yardım için Discourse’a bakabilirsiniz. Bokeh ile ilgili sorunları çözmek için Github’ı da inceleyebilirsiniz.

Glyph’lere Hoş Geldiniz

Peki glyph nedir?

Glyph’ler, Bokeh’te grafikler oluşturan temel yapı taşlarıdır. Bokeh’te oluşturduğunuz her grafiğin içinde bir glyph mekanizması vardır. Örneğin, bir saçılım grafiği oluşturmak istediğinizde bilgiyi temsil etmek için işaretçi olarak bir daire kullanabilirsiniz. Bir çizgi grafik ise bilgiyi bir çizgiyle gösterir.

Bu geometrik şekiller (çizgiler veya daireler), Bokeh’te glyph olarak adlandırılır. Veriye dair görsel bilgi taşırlar. Bu eğitim, çeşitli grafik türlerini oluşturmak için glyph’leri nasıl kullanacağınızı göstererek glyph’leri anlamanıza yardımcı olacaktır. Özetle, glyph’leri kullanarak şu grafik türlerini çizeceğiz:

  • Çizgi grafikler: Çizgi grafikler, x ve y eksenleri boyunca veri noktalarının hareketini bir çizgi olarak sunar. Zaman serisi verilerini çizmek için uygundur.
  • Çubuk grafikler: Çubuk grafikler, her kategorinin sayısını bir sütun veya alan olarak gösterir. Verileri kategorize etmek için uygundur.
  • Yama (patch) grafikler: Yama grafikler, belirli bir renkle bir nokta bölgesini gösterir. Aynı veri kümesi içindeki grupları ayırt etmek için uygundur.
  • Saçılım grafikler: Saçılım grafikler, iki değişken arasındaki ilişkiyi ve aralarındaki korelasyonun gücünü temsil eder.

Çizim İçin Glyph’ler Nasıl Kullanılır

Bokeh’te bir grafik oluşturmanın genel adımları şunlardır;

  • Bokeh’e bir diyagram oluşturmasını söylemek için figure() işlevini kullanarak bir grafik oluşturun.
  • Başlığı, x ekseni ve y ekseni etiketlerini tanımlayın.
  • Ardından line() glyph’ini şekle ekleyerek bir çizgi grafik oluşturun ve
  • x ve y noktalarının kesişimlerini işaretlemek için cross() glyph’ini kullanın.

Çizgi grafikler oluşturma

Bu kod, bokeh’te basit bir çizgi grafik oluşturmayı gösterir.

#Import the required packages
from bokeh.io import output_notebook, output_file, show
from bokeh.plotting import figure
#Create two data arrays
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

# Create plot
plot = figure(width=400, height=400, title="Simple line plot", x_axis_label="x-axis", y_axis_label = 'y-axis')
plot.line(x,y, line_width=2, color='green')


#Show plot
output_file(“line_plot1.html”)
show(plot)

Bu örnek, line() glyph’ini kullanarak tek bir boyutlu x ve y veri noktaları dizisiyle tek bir çizgi glyph’inin nasıl oluşturulacağını gösterir. figure() işlevinde grafiğin genişliğini ve yüksekliğini, başlığını ve eksen etiketlerini belirtebilirsiniz. line() glyph’inde, line_width (kalınlık) değerini line_width bağımsız değişkeniyle, rengi ise color bağımsız değişkeniyle belirtebilirsiniz.

Basit Çizgi Grafiği

Çubuk grafikler oluşturma

#Import the
from bokeh.plotting import figure, show

animals = ['lion', 'leopard', 'elephant', 'rhino', 'buffalo']
weight_tonnes = [190, 90, 3000, 2300, 590]

p = figure(x_range=animals, height=350, title="Big Five weight", x_axis_label = "Animal", y_axis_label = "Weight",
           toolbar_location=None, tools="")

p.vbar(x=animals, top=weight_tonnes, width=0.9)

p.xgrid.grid_line_color = None
p.y_range.start = 0

show(p)

Çubuk Grafiği

Yama (patch) grafikler oluşturma

Bir yama grafik, bir grup ya da bölgenin benzer özelliklere sahip olduğunu göstermek için bölgeleri renkle tarar. Aşağıdaki gibi basit bir yama grafik oluşturabilirsiniz:

# Import required packages
from bokeh.io import output_file, show
from bokeh.plotting import figure
# Create the regions to chart
x_region = [[1,1,2], [2,3,3], [2,3,5,4]]
y_region = [[2,5,6], [3,6,7], [2,4,7,8]]
# Create plot
plot = figure()
plot.patches(x_region, y_region, fill_color = ['blue', 'yellow', 'green'], line_color = 'black')
show(plot)

Yama Grafikleri

Üç farklı bölge vardır: Birincisi, [1,1,2] dizisi y ekseninde [2,5,6] ile eşleştirilmiştir. İkincisi, x ekseninde [2,2,3] bölgesi y ekseninde [3,6,7] ile; üçüncü bölge ise x ekseninde [2,3,5,4], y ekseninde [2,4,7,8] ile eşleştirilmiştir. Patches glyph’i, her bölge için yamaları oluşturmak üzere farklı renkler kullanır. _linecolor bağımsız değişkeni, her yamanın kenar rengi belirtir.

Saçılım grafikler oluşturma

Veri bilimciler iki değişken arasındaki ilişkiyi belirlemek için sıklıkla saçılım grafiklerini kullanır. Bokeh’te basit bir saçılım grafiğini şu şekilde oluşturabilirsiniz:

# Import required packages
from bokeh.io import output_file, show
from bokeh.plotting import figure
# Create x and y data points
x = [1,2,3,4,5]
y = [5,7,2,2,4]
# Create plot
plot = figure(title = "Scatter plot", x_axis_label = "Label name of x axis", y_axis_label ="Label name of y axis")
plot.circle(x,y, size = 30, alpha = 0.5)
# Add labels

# Output the plot
show(plot)

Saçılım Grafikleri

Kod, saçılım grafiğinde x ve y listelerinin kesişim noktalarını oluşturmak için daire işaretçileri kullanır. Daireler yerine aşağıdakiler gibi diğer işaretçileri de kullanabilirsiniz:

  • cross()
  • x()
  • diamond()
  • diamond_cross()
  • circle_x()
  • circle_cross()
  • triangle()
  • inverted_triangle()
  • square_x()
  • square_cross()
  • asterisk()

size = 30 bağımsız değişkeni, her bir dairenin boyutunu belirtir. Şekil, bokeh’te mevcut tüm işaretçileri özetler.

Bokeh İşaretçileri

Kaynak: Bokeh.org

alpha bağımsız değişkeni, dairelerin saydamlığını belirtir. 0 ile 1 arasında değer alır; 0 tamamen saydam, 1 ise opaktır.

Sonuç

Bu eğitim, Bokeh’i interaktif ve üst düzey bir görselleştirme aracı olarak tanıtır. Eğitim, Bokeh kullanırken neler bekleyebileceğinize dair bir temel oluşturur. Bokeh’te glyph kavramını kullanarak çizgi grafikler, çubuk grafikler, yama grafikler ve saçılım grafikler oluşturmayı gördünüz. Bokeh’te oluşturabileceğiniz çeşitli grafiklerle ilgili daha fazla ayrıntı için şu Bokeh dokümantasyonuna göz atın.

Konular

İlgili